gov*_*nda 7 html javascript anchor
在Mac OS 10.7上使用最新版本的Chrome.
我假设它是一些聪明的JavaScript,使这个网页的人们:
...关闭首先打开(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页面.
有点粗鲁.
有人能指出我能用它们做什么代码吗?我该如何预防呢?(假设我希望链接按预期运行,例如在我的演示页面中.)
我认为正确的做法是设置相应的链接类型属性,以便浏览器不提供目标窗口和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
这是他们正在使用的脚本:
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 示例。