当您使用该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,无法在获取上个页面进行操作。
湖北,武汉,汉阳区
没有回复内容