我正试图像这样打开子窗口
{
var popWindow = window.open(postUrl, "popupWindow", settings);
}
现在我想访问一些父脚本函数。如果我直接调用会得到这样的未定义函数异常
(未捕获的ReferenceError:未定义getAllFilter)
如何解决这个问题。
答案 0 :(得分:1)
答案 1 :(得分:0)
要访问这些功能,您可以在子窗口的页面中包含js文件。如果您使用内联脚本,则必须将它们移动到js文件中。如果您只希望函数影响子窗口中的页面,那么就是它。如果你想让两个窗户影响彼此状态,你将不得不继续阅读。
如果窗口中的页面属于您的网站,您可以尝试以下来自existing answer的代码:
var win = window.open("/path_to_page");
win.onload = function(){ alert(win.document.title); };
如果您在窗口中访问外国网站,则可以使用window.postMessage()
。