Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以创建一个按钮,在新选项卡中打开指定网站并关闭当前网站?_Javascript_Jquery_Wordpress_Cookies_Browser History - Fatal编程技术网

Javascript 是否可以创建一个按钮,在新选项卡中打开指定网站并关闭当前网站?

Javascript 是否可以创建一个按钮,在新选项卡中打开指定网站并关闭当前网站?,javascript,jquery,wordpress,cookies,browser-history,Javascript,Jquery,Wordpress,Cookies,Browser History,我正在为客户创建WordPress网站。本网站为虐待受害者提供支持,我的客户希望网站上有一个“恐慌”按钮,当点击时,可以: a) 将用户发送到指定的网站(例如google.com),然后删除后退按钮的历史记录 b) 在新选项卡中打开指定的网站(消除“后退”按钮问题),然后关闭当前网站 我尝试添加一个简单的按钮,如下所示: <button onclick="window.close();">Close</button> 关闭 但我在控制台中看到了: [警告]无法关闭窗口

我正在为客户创建WordPress网站。本网站为虐待受害者提供支持,我的客户希望网站上有一个“恐慌”按钮,当点击时,可以:

a) 将用户发送到指定的网站(例如google.com),然后删除后退按钮的历史记录

b) 在新选项卡中打开指定的网站(消除“后退”按钮问题),然后关闭当前网站

我尝试添加一个简单的按钮,如下所示:

<button onclick="window.close();">Close</button>
关闭
但我在控制台中看到了:

[警告]无法关闭窗口,因为它不是由JavaScript打开的

如果使用Javascript无法做到这一点,还有其他方法可以做到吗?

不可能

您遇到的问题是浏览器不允许Javascript控制打开和关闭选项卡等操作,这是正确的。网页实际上不应该能够访问或控制其选项卡之外的内容,这是一个称为沙箱的概念。网页可以在自己的沙箱中自由播放,但不允许了解或更改沙箱之外的内容。“浏览器历史记录”和“其他选项卡”都位于网页的沙箱之外

这并不是说这在JavaScript中是不可能的,这对于任何设计良好的浏览器来说都是不可能的,句号。这不是一个你可以用什么技术来实现的问题,这是一个设计明确禁止的行为。如果你能在主流浏览器上实现这一点,你可能会得到一笔bug赏金。想象一下,一个恶意参与者可以通过“后退”按钮修改历史记录,或者关闭其他选项卡来做什么


除此之外,我还担心你的雇主正在采取的方法。滥用者通常比受害者更精通技术,像这样的“恐慌按钮”甚至不会影响浏览器的整体历史,更不用说击败任何先进的监控软件,如间谍软件,或一个奇特的路由器的DNS监控。应劝阻虐待受害者不要使用他们认为受到危害的设备或网络,并应通过可靠和安全的通信渠道寻求帮助。我很担心任何类型的“紧急按钮”功能都会给不懂安全的用户带来虚假的安全感

尝试函数closeWindow(){window.open('','');window.close();},然后从@level_zebra调用,这在Chrome中不起作用。脚本只允许关闭它打开的窗口。感谢您的输入!我怀疑这将超出我的控制范围。我理解你最后一段的意思,坦率地说我同意。我会把这件事告诉我的客户。:)