Когда я открываю всплывающее окно, я хочу иметь возможность установить несколько обратных вызовов, которые может вызвать всплывающее окно.
В общем, у меня было бы две страницы с таким кодом:
*****popup.html*******
var callBack;
function OnSaveClick()
{
if (callBack)
callBack();
}
**********************************************
********popupOpener.html*************
function callBackHandler()
{
//some code here
}
function OpenPopup()
{
var p = window.open("popup.html");
p.callBack = callBackHandler;
return false;
}
Проблема в том, что var callBack сбрасывается при загрузке DOM файла popup.html и не загружается до тех пор, пока OpenPopup () в средстве открытия не завершится.
Таким образом, следующая лучшая вещь должна была бы установить callBack в событии ready popup.html. Но я хочу иметь возможность прикрепить обработчик события к готовому событию popup.html в popupOpener.html.
Таким образом, функция OpenPopup теперь будет выглядеть примерно так:
var p;
function OpenPopup()
{
p = window.open("popup.html");
$(p).ready(hookCallBack) //doesn't work
//or $(p.document).ready(hookCallBack) //doesn't work
return false;
}
function hookCallBack()
{
p.callBack = callBackHandler;
}
Но hookCallBack () выполняется сразу после $ (p) .ready (hookCallBack), а НЕ, когда готов DOM файла popup.html. Есть ли другой способ сделать это?