【问题标题】:window.close() in Mobile Browser not working移动浏览器中的 window.close() 不起作用
【发布时间】:2016-07-21 04:35:27
【问题描述】:

有没有其他方法可以使用 JS 关闭当前选项卡?因为 window.close() 不适用于移动浏览器

【问题讨论】:

  • 我已经尝试过 window.top.close() 并且它也没有工作

标签: javascript


【解决方案1】:

我有同样的问题,我尝试了很多方法,但没有一个可以适应所有设备。 最后,我用下面的代码,我真的没有更好的办法。

window.opener=null;
window.open('','_self');
window.close();
window.history.go(-1);
$(document.body).hide()

【讨论】:

    【解决方案2】:

    某些浏览器不允许您使用window.close() 关闭窗口,除非脚本打开了窗口。这有时有点烦人。但是有一个解决方法可以解决这个问题。

    如果您观察到 Mozilla Firefox 抛出的错误消息,Scripts may not close windows that were not opened by the script。它清楚地表明,如果脚本没有打开窗口,你就不能关闭它。但是我们使用“_self”作为目标窗口在同一个窗口中打开一个空白页面并关闭同一个窗口。这样,脚本会打开窗口(这是一个空白窗口)并关闭窗口。

    所以,把它放在代码中:

    <script>
        function closeMe() {
            var win = window.open("","_self"); /* url = "" or "about:blank"; target="_self" */
            win.close();
        }
    </script>
    

    <input type="button" name="CloseMe" value="Close Me" onclick="closeMe()" />
    

    参考:link

    【讨论】:

    • 我之前已经尝试过该代码,但是当前浏览器选项卡没有关闭,场景是我有一个离子应用程序,它将打开网页进行注册。事情是 。如果用户注册成功,会有一个关闭浏览器的按钮
    • 你找到解决办法了吗?我也面临同样的问题。
    • 不是一个可行的解决方案
    猜你喜欢
    • 2016-01-02
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 2020-09-01
    • 2015-05-20
    相关资源
    最近更新 更多