使用rel=noopener解决了什么问题?
假设你当前在浏览一个页面,上面有个链接(可能是用户输入的):
<a target="_blank" href="http://aaa.com/">点击</a>
在新打开的标签页通过window.oponer ,可以获得当前页面的window 。
这样的话,http://aaa.com(被打开的页面)将获得当前页面的部分控制权,即使新打开的页面是跨域的也照样可以(例如location 就不存在跨域问题)。
建议
最好的当然就是添加rel=noopener啦。
老版本的浏览器可以用 rel=noreferrer
或者说添加下面的js
var otherWindow = window.open(); otherWindow.opener = null; otherWindow.location = url;
注意:以上js方法在Safari中不成立
评论前必须登录!
注册