Tôi có hai cửa sổ, một cửa sổ được mở từ cửa sổ khác, vì vậy, tôi có thuộc tính opener
trong cửa sổ "con".Không thể chuyển chức năng từ cửa sổ này sang cửa sổ khác trong IE
Cửa sổ chính có một số chức năng trong phạm vi toàn cục, phải được gọi bằng hàm làm đối số đầu tiên (nó sẽ được sử dụng làm gọi lại).
Cả hai trang được mở từ cùng một tên miền, như vậy, tôi không có bất kỳ hạn chế Policy xứ Same (Tôi hy vọng như vậy) ...
Trong một cửa sổ con tôi có mã như thế này
if(window.opener) {
window.opener.myFunction(function() { ... });
}
Mọi thứ đều hoạt động tốt, cho đến khi tôi thử chạy nó trong IE. Trong trình duyệt này, một đối số, được nhận bởi myFunction
, là LUÔN loại Object
(được kiểm tra với typeof
). Mã của myFunction
là một cái gì đó như thế này:
window.myFunction = function(cb) {
alert('Callback type is ' + (typeof cb));
if(typeof cb == 'function')
cb();
else
alert('Not a function!');
}
Live Demo: http://elifantiev.ru/ie-opener-issue/first.html
Các câu hỏi là:
- là này một standarts hành vi phù hợp?
- có một số giải pháp cho sự cố này không?
Vui lòng chỉ định (các) phiên bản IE mà bạn gặp sự cố này. –
IE7 + (IE 7,8,9) – Olegas