关闭弹出窗口时刷新主页的功能有些问题。
在我的popUp页面中,我有以下javascript
$(function () {
window.onunload = function () {
if (window.opener && !window.opener.closed) {
window.opener.popUpClosed();
}
};
});
在主页面中,我有以下javascript
$(function () {
function popUpClosed() {
window.location.reload();
}
});
我收到错误,该对象不支持'popUpClosed'方法。
我在StackOverflow中看到了这个answer的解决方案,但我不知道如何解决这个错误。
答案 0 :(得分:0)
你有没有尝试下一个答案:
var myPop = "pop up window selector"
myPop.onunload = function(){
location.reload();
};
来源:Refresh parent window when the pop-up window is closed
您可以获得对此窗口的引用:
var windowObjectReference = window.open(strUrl, strWindowName[, strWindowFeatures]);
来源:https://developer.mozilla.org/en/DOM/window.open
我刚刚意识到window.opener.popUpClosed()
正在主页上的全局范围内寻找popUpClosed()
函数,但它实际上并未在全局范围内声明,请尝试:
var popUpClosed = function () {
window.location.reload();
};
删除此document.ready
事件处理程序将允许从子文档(如弹出窗口)访问它。另请注意,该函数现在声明为:var <name> = function () { ... };
,允许通过window
对象访问它。
答案 1 :(得分:0)
这是因为window.opener
没有任何名为popUpClosed
的方法。请删除window.opener
:
window.onunload = function () {
if (window.opener && !window.opener.closed) {
popUpClosed();
}
};