赞
踩
为了安全性。
使用target=’_blank’打开一个新标签时,新页面的window对象上有一个属性opener,它指向的是前一个页面的window对象,因此,后一个页面就获得了前一个页面的控制权。
比如的 a 标签是这样<a href='/index'>打开连接</a>
,打开后在控制台输入 window.opener.alert(1),该页面会弹出警告框。
如果你需要用 a 标签打开一个标签页时,你会使用 target=’_blank’ 这个属性,此时你需要添加 rel=‘noreferrer noopener’
比如你的链接现在变成了这样<a href="/index" target="_blank" rel="noopener" >连接</a>
,再打开后你会发现 window.opener 已经被置为了 null,如果是一些旧的浏览器,可以使用 rel=noreferrer,它不仅禁用了 window.opener,后一个页面也无法获取到 referrer,再不行,可以利用 js 来打开新的页面,之后将 opener 置为 null 来完成这个功能(没试过sorry)
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。