rel="noopener noreferrer",有什么用? - 网络技能论坛 - 经验分享 - 小轻秀场

rel="noopener noreferrer",有什么用?

当您使用该target=”_blank”属性链接到另一个站点上的页面时,您的站点可能会面临性能和安全问题:

另一个页面可能与您的页面在同一进程上运行。如果另一个页面运行大量 JavaScript,您的页面的性能可能会受到影响。

另一个页面可以window使用该window.opener属性访问您的对象。这可能允许其他页面将您的页面重定向到恶意 URL。

添加rel=”noopener”或rel=”noreferrer”到您的target=”_blank”链接可以避免这些问题。

总结一下就是:

对于写了target=”_blank”的a标签,如果不带上 rel=“noopener noreferrer” 属性,会存在以下问题:

1、性能问题:新打开的页面,和当前页面是在一个进程里的,如果新打开的页面比较耗资源,那当前页面的性能也会受到影响;

2、安全问题:新打开的页面可以通过window.opener操作上个页面,这可能会让你的上个页面重定向到不安全的钓鱼网站。

带上 rel=“noopener noreferrer” 属性的话,新打开的页面是在新的进程中运行,不影响上个页面,而且新页面拿到的 window.opener = null,无法在获取上个页面进行操作。

湖北,武汉,汉阳区

请登录后发表评论

    没有回复内容