移动浏览器中的window.close()无法正常工作

时间:2016-07-21 04:35:27

标签: javascript

是否有另一种方法可以使用JS关闭当前选项卡?因为window.close()不适用于移动浏览器

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我遇到了同样的问题,我尝试了很多方法,但是没有一种方法能够适应所有设备。 最后,我使用以下代码,我确实没有更好的方法。

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