chrome window.close 无法使用怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了chrome window.close 无法使用怎么办相关的知识,希望对你有一定的参考价值。

先用JS打开一个新窗口到自身,新窗口(具有“由JS创建”属性)会覆盖原来的窗口(不具有“由JS创建”属性),然后再执行window.close()。代码如下:

window.open('','_self','');

window.close();

如此chrome就可以使用window.close关闭当前打开的窗口了。

功能介绍:

Chrome会定期的下载更新两组黑名单(分别是防止网络钓鱼和恶意软件),并会在使用者试图浏览可能造成电脑损害的网站时予以警告。这项服务也可透过使用其他的免费自由应用程序界面(API)“Google Safe Browsing API”来取得。

沙盒(Sandbox)

Chrome中的每一个标签页都是一个沙盒(sandbox),以“防止恶意软体自行执行安装”或“利用一个分页影响其他的分页”。遵守最小许可权原则,每一个处理动作的权限都会被限制,并且仅能运算但无法写入档案或从敏感区域读取档案(例如我的文件、桌面),这项功能与Windows Vista上Internet Explorer 7的“保护模式”类似。

参考技术A

chrome下window.close并非无法使用,而是chrome浏览器限制了此方法只能关闭由JS创建的窗口,而不能关闭自地址栏打开的窗口。

从chromium内核代码中可以查看到,当用户尝试使用window.close方法关闭非JS创建的窗口时会给出的错误警告:

 Scripts may close only the windows that were opened by it

因此,要在此类窗口中正常使用window.close代码进行关闭操作,可以先用JS打开一个新窗口到自身,新窗口(具有“由JS创建”属性)会覆盖原来的窗口(不具有“由JS创建”属性),然后再执行window.close()。代码如下:

window.open('','_self','');
window.close();

如此chrome就可以使用window.close关闭当前打开的窗口了。

参考技术B 可以执行的,检查你的代码是否出错,或者重启浏览器再打开试试。现在360浏览器默认用的是谷歌内核,360能够执行的谷歌也一定可以执行。 1本回答被提问者采纳

以上是关于chrome window.close 无法使用怎么办的主要内容,如果未能解决你的问题,请参考以下文章

scripts may close only the windows that were opened by it 浏览器JS控制无法关闭当前页面

onclick="javascript:window.close();"在谷歌浏览器chrome中不起作用

window.opener引用为null的解决办法

Chrome下关闭浏览器,关闭非脚本打开的页面

解决window.close()方法兼容各个浏览器(ie关闭会进行弹框提示是否关闭)

Window.close无法在页面参考Apex方法中工作