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的“保护模式”类似。
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关闭当前打开的窗口了。