opener
opener
属性是一个可读可写的属性,可返回对创建该窗口的 Window
对象的引用。当你使用 target='_blank'
打开一个新的标签页时,新页面的 window
对象上有一个属性 opener
,它指向的是前一个页面的 window
对象。但是,后一个页面对前一个页面的控制,受同源策略限制 。
noopener
1 | <a href="http://example.com" target="_blank" rel="noopener">Example site</a> |
如果使用了rel="noopener"
属性,新页面的window.opener
属性值为null
。
同源策略
如果后一个页面与前一个页面不同域
,源安全模型
会阻止window.opener
读取前一个页面的信息,但利用某些陈旧的API可以把你的页面导航到不同的URL:
1 | window.opener.location = newURL |