2011-04-26 276 views
1

有什么办法可以在不接收提示的情况下使用js完全关闭浏览器窗口? 我的意思是,用户没有打开一个弹出窗口或其他任何JS关闭窗口

+6

我当然希望不会 – 2011-04-26 14:15:53

+2

Downvoter:反对投票是对于不是问题明确或不具建设性;尽管我不同意控制我的浏览器窗口的想法,但这个问题非常明确且可以回答。 – 2011-04-26 14:20:12

+1

如果这是JavaScript的功能,不少人会因为看到一些随机网站关闭他们的所有选项卡而变得恼人。 – 2011-04-26 14:36:11

回答

3

不。基本上,脚本只能打开一个脚本打开的窗口。试图这样做(使用命令window.close())导致错误Scripts may not close windows that were not opened by script.

有一个很好的理由。如果任何脚本可以关闭任何窗口,恶意代码可以通过在后台窗口中加载虚假页面,然后关闭主窗口,轻松地将虚假页面替换为合法页面。

一般来说,这是不好的做法,尝试和通常是用户的域中的任何行动力控制。这包括像滚动条,整体的字体大小,确认窗口的事情(打印,保存,关闭),以及尺寸和打开窗口的状态等

1

简单的答案是NO浏览器窗口。通常,所有浏览器都有配置允许JavaScript代码执行的机制 - 关闭窗口和/或调整大小是其中之一,并且默认情况下设置为提示(关闭)并拒绝调整大小。因此,除非用户特别配置了不同的级别,否则您将无法避免提示。

0

关闭窗口的唯一代码是window.close()。对于其他任何事情,你都需要像插件那样优越的优先权。

0

window.close()将关闭当前标签页,如果它是浏览器的最后一个标签页,则可能会关闭整个浏览器窗口。

+3

这只有在脚本打开标签页/窗口时才是正确的。 – 2011-04-26 14:21:08

+0

很高兴知道。谢谢,克里斯。 – 2011-04-27 02:14:43