Я пытаюсь сделать это:
$(function() {
var parent = window.opener;
$(window).bind('unload', function() {
parent.setTimeout(function() {
parent.console.log('Fired!');
}, 200);
}
});
Приведенный выше пример хорошо работает в FF, Chrome и т. д., но не в IE8. В последнем случае обратный вызов, указанный в setTimeout(), кажется, никогда не запускается.
Причина в том, что я хотел бы выполнить некоторый код в родительском окне (window.opener), когда всплывающее окно закрыто. Я бы хотел, чтобы за это отвечало всплывающее окно, а не наоборот.
Просто чтобы показать, что концепция работает:
$(function() {
var parent = window.opener;
$(window).bind('unload', function() {
parent.console.log('Fired!');
}
});
Немедленный вызов console.log в обратном вызове, связанном с выгрузкой (как в приведенном выше примере), кажется, работает во всех браузерах (здесь не нацелен на IE6), но как только я добавляю setTimeout() в микс, он ломается.
Является ли это возможным? Это проблема масштаба?