vit*_*rio 5 javascript jquery google-chrome
我有一个主窗口和一个弹出窗口.弹出窗口在主窗口中创建.
就像parent.php是主窗口.在这个页面上,我有一个JavaScript函数来重新加载页面,如下所示:
function popUpClosed() {
window.location.reload();
}
Run Code Online (Sandbox Code Playgroud)
我们可以从parent.php打开弹出窗口.现在我想在关闭/导航弹出窗口时从弹出窗口执行popUpClosed()函数parent.php.
我尝试了以下方法来实现相同的目标.
window.onunload = window.onbeforeunload = function() {
if(window.opener && !window.opener.closed) {
window.opener.popUpClosed();
}
};
Run Code Online (Sandbox Code Playgroud)
window.onbeforeunload = Call;
function Call() {
if(window.opener && !window.opener.closed) {
window.opener.popUpClosed();
}
}
Run Code Online (Sandbox Code Playgroud)
window.onpagehide = function() {
window.opener.popUpClosed();
}
Run Code Online (Sandbox Code Playgroud)
除谷歌浏览器外,所有浏览器都能正常运行.Chrome没有触发任何功能.
但是,这发生在过去2-3天.之前所有的事情都在Chrome中运行良好.(可能是由于最新的Chrome更新引起的)
任何建议将不胜感激.
Sun*_*mar -3
您可以尝试以下代码:
我创建了打开 POP 窗口的常用函数:
function PopupCenter(url, title, w, h) {
var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;
var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;
width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
var left = ((width / 2) - (w / 2)) + dualScreenLeft;
var top = ((height / 2) - (h / 2)) + dualScreenTop;
child = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
if (child.focus) {
child.focus();
}
}
Run Code Online (Sandbox Code Playgroud)
为了检查子窗口是否关闭,我正在使用该setInterval函数并检查间隔,如下所示:
function checkChild() {
if (child != undefined && child.closed) {
//alert("Child window closed");
clearInterval(timer);
location.reload();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1821 次 |
| 最近记录: |