Javascript 当弹出窗口关闭时,如何刷新父页面?
我对关闭pop时刷新主页的功能有一些问题 在我的弹出页面中,我有以下javascriptJavascript 当弹出窗口关闭时,如何刷新父页面?,javascript,jquery,Javascript,Jquery,我对关闭pop时刷新主页的功能有一些问题 在我的弹出页面中,我有以下javascript $(function () { window.onunload = function () { if (window.opener && !window.opener.closed) { window.opener.popUpClosed(); } }; }); 在主页中,我有以下javascript
$(function () {
window.onunload = function () {
if (window.opener && !window.opener.closed) {
window.opener.popUpClosed();
}
};
});
在主页中,我有以下javascript
$(function () {
function popUpClosed() {
window.location.reload();
}
});
我得到一个错误,对象不支持方法“popUpClosed”
我在StackOverflow中看到了此解决方案,但我不知道如何修复此错误。您是否尝试过下一个答案:
var myPop = "pop up window selector"
myPop.onunload = function(){
location.reload();
};
资料来源:
使现代化
您可以获得对如下窗口的引用:
var windowObjectReference = window.open(strUrl, strWindowName[, strWindowFeatures]);
资料来源:
使现代化
我刚刚意识到window.opener.popUpClosed正在主页上的全局范围中查找popUpClosed函数,但它实际上并没有在全局范围中声明,请尝试以下操作:
var popUpClosed = function () {
window.location.reload();
};
删除document.ready事件处理程序将允许像弹出窗口一样从子文档访问它。还请注意,函数现在声明为:var=function{…};它允许通过window对象访问它。这是因为window.opener没有任何称为popUpClosed的方法。卸下开窗器,如下所示:
但是,我如何使用选择器来获取弹出窗口?@Lucas_Santos我更新了我的答案,以演示如何获取对窗口的引用。@Lucas_Santos我实际上刚刚再次更新了我的答案,因为我认为您只需删除popUpClosed函数周围的document.ready事件处理程序即可修复代码。但是,我如何重新加载特定页面呢?父页面和另一个?window.opener是对打开当前文档的文档的窗口对象的引用。所以window.opener就像对父文档使用window一样,我知道window.opener是什么。我还知道它没有popUpClosed方法。他需要扩展window.opener。但我如何重新加载特定页面?父页面和另一个?@NickBeranek当您在全局范围内声明任何内容时,可以通过窗口对象访问它。例如:var key='val';alertwindow.key将输出val。因此,您可以声明一个函数:function key{return'val';},并按如下方式运行其代码:window.key;。因此,您可以向窗口对象添加函数,并从其他文档访问它。这里是一个演示:用window.opener.location.reload代替window.location.reload。
window.onunload = function () {
if (window.opener && !window.opener.closed) {
popUpClosed();
}
};