防止外部页面重定向MY(父)页面

gov*_*nda 7 html javascript anchor

在Mac OS 10.7上使用最新版本的Chrome.

我假设它是一些聪明的JavaScript,使这个网页的人们:

http://www.chairworks.com/

...关闭首先打开(chairworks.com)页面的(父)页面.我没有用javascript打开它们,但是带有属性的<a>标签target="_blank".

如果我禁用javascript,则行为将停止.

<a href="http://www.chairworks.com" target="_blank">www.chairworks.com</a>
Run Code Online (Sandbox Code Playgroud)

我希望chairworks.com/上的页面只是在另一个选项卡/窗口中打开...但我发现只要新浏览器选项卡打开,它就关闭,然后我的页面(父选项卡/窗口)被重定向到chairworks.com页面.

有点粗鲁.

有人能指出我能用它们做什么代码吗?我该如何预防呢?(假设我希望链接按预期运行,例如在我的演示页面中.)

Mer*_*sen 6

我认为正确的做法是设置相应的链接类型属性,以便浏览器不提供目标窗口和opener引用.

<a href="https://untrusted-site.org" target="_blank" rel="noreferrer noopener">Link</a>
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读有关链接类型的更多信息:https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types


Git*_*LAB 2

这是他们正在使用的脚本:

setTimeout('redirect_page()',0);
function redirect_page(){if (window.opener) { window.opener.location.href = '/home.html'; window.close(); } else { location.href = '/home.html'; }}
Run Code Online (Sandbox Code Playgroud)

至于如何规避它(只是一个想法):
创建您自己的空白页面,并将其源设置为 about:blank。当它加载时(或超时后),您可以向该窗口写入一些代码,然后打开有问题的链接。然后,有问题的链接就会关闭您的缓冲区页面。他妈的!权力归用户!

编辑:看起来你也可以命名你的页面home.html呵呵,但这不是一个可行的解决方案。

最终编辑: 简单的逻辑人们...
<a href="http://www.chairworks.com/home.html" target="_blank">www.chairworks.com</a>
适用于每个人,不需要 JavaScript。
请参阅这个有效的jsfiddle 示例