【问题标题】:Overriding window.close in Javascript在 Javascript 中覆盖 window.close
【发布时间】:2013-08-25 05:15:07
【问题描述】:

我正在尝试覆盖javascript 中的window.close() 方法。这是我的代码。

 (function () {
    var _close = window.close;                  
    window.close = function () {
        window.opener.alert("test");
        _close();                             
    };
})();

我正在尝试将此代码绑定到新窗口并在新窗口关闭时执行内部代码。 是否可以像这样覆盖window.close

【问题讨论】:

  • 你试过看看会发生什么吗?
  • 是的,当我关闭新窗口时没有任何反应。
  • 你看过window.unload了吗?
  • 如果你能做到这一点,就可以创建永远无法关闭的窗口。恶意软件网站这样做了,所以浏览器不允许这样做。
  • 哦,是的,当我试图关闭您的广告页面时,请给我更多弹出窗口,而我一开始并没有要求。

标签: javascript jquery javascript-events


【解决方案1】:

试试这个

您可以使用 window.onbeforeunload 事件来调用任何函数 但是,不允许使用警告、提示、确认框。 您可以返回任何字符串,以显示任何消息。

//var _close = window.onbeforeunload;  
window.onbeforeunload = function () {
   // window.opener.alert("test");
   //_close();        
   return callBack();
};
function callBack()
{
    return "Testing";
}

如果您想关闭任何其他子窗口

你可以试试这个

var k = window.open("url");
k.onbeforeunload = callBack;

【讨论】:

    猜你喜欢
    • 2016-06-03
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 2017-06-01
    相关资源
    最近更新 更多