正在为动态url设置noopener



我正在努力遵循https://developers.google.com/web/tools/lighthouse/audits/noopener和https://mathiasbynens.github.io/rel-noopener/并且正在尝试将CCD_ 1的值设置为CCD_。问题是我不能设置href值,因为它是动态的。我需要对我的内部端点进行Api调用以获取url。因此,我想知道以下是否仍然有效

<a ng-click="getUrl()" rel="noreferrer noopener">
<i class="action icon view"></i>
</a>
var getUrl = function() {
// call some endpoint, on success
$window.open(url, '_blank');
} 

设置rel值是否还有任何值?

它不起作用:noopener属性在问题中的情况下不会产生预期效果——也就是说,对于从没有href属性的链接打开的窗口/选项卡。简单测试:

<!doctype html>
<title>simple noopener test</title>
<a onclick = "getUrl()"
rel = "noreferrer noopener">Case 1: click here to open a new tab that <b>will</b>
have access to the window object of this document (despite the'noopener')</a>
<p>
<a href="http://example.com"
rel = "noreferrer noopener">Case 2: click here to open a new tab that <b>will not</b>
have access to the window object of this document (because of the'noopener'</a>
<script>
var getUrl = function() {
window.open("http://example.com", '_blank');
}
</script>

在该示例的案例1中,如果您检查打开的新选项卡/窗口的window.opener,您会发现它不是null。但是检查案例2中的新窗口/选项卡,就会发现它为空。

设置rel值是否还有任何值?

否——对于问题中的情况,设置noopener似乎没有任何价值,因为它不会阻止新窗口/选项卡访问打开它的文档的rel0。

相关内容

  • 没有找到相关文章

最新更新