美文网首页
target="_blank" 必须要记住的事

target="_blank" 必须要记住的事

作者: 捡了幸福的猪 | 来源:发表于2021-07-21 22:25 被阅读0次

必须要记住的是:

使用target="_blank" 时 需同时使用rel="noopener"或者rel="noreferrer"

原因:
1、安全问题:使用target="_blank"打开新窗口后,新页面能通过window.opener获取到来源页面的window对象,即使跨域也一样。虽然跨域的页面对于这个对象的属性访问有所限制,但还是能访问到部分属性。

2、性能问题: 通过target="_blank"打开的新窗口,跟原来的页面窗口共用一个进程。

解决办法:
1、尽量不使用target="_blank",如果一定要用,需要加上rel="noopener"或者rel="noreferrer"。

2、对于通过window.open的方式打开的新页面

const  pageWindow = window.open();
pageWindow.opener = null;
pageWindow.location = "http://a.b.c.com";
pageWindow.target = "_blank";

相关文章

网友评论

      本文标题:target="_blank" 必须要记住的事

      本文链接:https://www.haomeiwen.com/subject/kyesmltx.html