부모에게 데이터를 다시 제공하는 팝업 창이 있습니다. window.opener.document.data = data_from_popup;
Javascript가 자식 창에서 부모 창으로 데이터를 전달하는 중 IE 버그?
잘 작동하지만 IE (6/7)에서는 팝업이 계속 표시되는 동안 데이터에 액세스 할 수 있습니다. 팝업을 닫으면 데이터가 가비지 수집 된 것처럼 보입니다.
나는 팝업에서받은 데이터에 대한 클론() 함수를 사용하려고했습니다:
window.opener.add_data(data_from_popup);
부모에 : 그것은 다소 있지만, 특정 조건에서 작동
function add_data(data_from_popup) {
data = clone(data_from_popup);
}
clone()
함수가 무한히 반복되는 것처럼 보입니다.
동일한 기능을 경험 한 적이 있습니까? 복제 기능을 사용하지 않고이를 방지 할 수있는 방법이 있습니까?
오프너에 어떻게 데이터를 저장 했습니까? 특히 window.opener를 통해 복잡한 데이터 (객체, 배열, 날짜)를 저장 했습니까? –
2 일 window.opener.foo = somevalue; 이로써 여는 창에 전역 변수 "foo"를 저장하거나 팝업 창을 열고 콜백 ... window.opener를 호출합니다.myCallback (someDataObj); 내 오프너 콜백 함수는 데이터로 원하는/수행해야하는 모든 작업을 수행합니다. – scunliffe
흥미 롭습니다. 이 두 가지 예는 IE에서 깨는 내용입니다. 사용자가 자식 윈도우를 닫으면 데이터에 대한 오프너의 참조가 삭제됩니다. – JPot