javascript关闭窗口-window.close 关闭当前页面

2023-08-26 0 3,367 百度已收录

考虑到安全策略,浏览器只允许Javascript关闭由javascript打开的页面。 为了用js关闭当前窗口,我们可以这样考虑javascript关闭窗口,这也是最常用的方法。

fdsafas

function xx(){
    // 重置window.opener用来获取打开当前窗口的窗口引用
  // 这里置为null,避免IE下弹出关闭页面确认框
    window.opener = null;
    // JS重写当前页面
    window.open("", "_self", "");
    // 顺理成章的关闭当前被重写的窗口
    window.close();
}

javascript关闭窗口-window.close 关闭当前页面

Guilao 在 stackoverflow 上的原始解释:

出于安全原因,如果窗口是由 JavaScript 打开的javascript关闭窗口,则只能在 JavaScript 中关闭该窗口。

另附上另一个解决方案:

window.open('javascript:window.open("", "_self", "");window.close();', '_self');

javascript关闭窗口-window.close 关闭当前页面

嵌入的 javascript:window.open("","_self",""); 是为了防止IE弹出确认关闭框,相当于重置window.opener

FireFox对外支持window.close,但是由于其自身的设置,不允许JS自行关闭窗口,因此用户需要自动将about:config下的dom.allow_scripts_to_close_windows的值改为true,然后根据问题解决对上述想法。

很多情况下,用户不会自动更改FireFox的设置。 这里也有一个妥协。 将“close”行为更改为“location.href”跳转,仅适用于FireFox

javascript关闭窗口-window.close 关闭当前页面

function xx(){
    location.href = "about:blank";
}

综上,JS部分可以改成如下:

var xx = navigator.userAgent.indexOf("Firefox") > -1 ? 
    function(){location.href = "about:blank";}
    :
    function(){
        window.opener = null;
        window.open("", "_self", "");
        window.close();
    };

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript关闭窗口-window.close 关闭当前页面 https://www.wkzy.net/game/151330.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务