我想在一个打开的子窗口关闭时执行一个函数。子窗口打开代码为:
outWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=600, height=400, top=100, left=100);我想调用在父窗口中编写的Javascript函数。我使用YUI-2来开发插件。我怎么才能让它工作呢?应该注册什么事件?
发布于 2011-03-09 09:45:08
你可以做这样的事情。
var intervalID, childWindow;
childWindow = window.open("http://www.google.com");
function checkWindow() {
if (childWindow && childWindow.closed) {
window.clearInterval(intervalID);
alert('closed');
}
}
var intervalID = window.setInterval(checkWindow, 500);引用:window.setInterval和此answer。
jsfiddle上的一个简单示例。
发布于 2011-03-09 09:44:32
您可以通过以下方式尝试访问父窗口:
window.opener.functionThatYouWant();这段代码在子窗口中。
但是,如果您打开一个窗口,显示该URL位于另一个域(不是localhost)中,则由于安全问题,您将无法访问它。
我在Firefox上使用了这段代码,我不确定它是否可以跨浏览器工作。
https://stackoverflow.com/questions/5240428
复制相似问题