使用rel =" noopener"在window.open()中

时间:2017-09-11 03:54:44

标签: javascript hyperlink target window.opener

所以我知道在使用rel="noopener时我可以在a标记中应用target="_blank"。但我试图将其作为window.open()的参数传递,即:

window.open('http://cats.com', '_blank', 'rel=noopener')

然而,它似乎没有按照我的预期运作,因为在用户点击链接后,opener对象仍然存在于窗口中。

我有什么遗失的东西吗?或者不能以我想要的方式完成?

我发现了一些很棒的文章,但就我所知,它们并没有完全解决我的用例。

https://developer.mozilla.org/en-US/docs/Web/API/Window/open https://mathiasbynens.github.io/rel-noopener/

非常感谢。

4 个答案:

答案 0 :(得分:4)

据我所知,使用window.open()参数无法实现这一点。然而,有一种方法可以获得这种行为:

var newWindow = window.open();
newWindow.opener = null;
newWindow.location = 'http://some.url';

答案 1 :(得分:4)

这对我有用:

value toDS is not a member of org.apache.spark.rdd.RDD[T]

答案 2 :(得分:2)

doc中没有直接的例子,但它可以像这样使用,对我有用。

window.open('http://cats.com', '_blank', 'noopener,resizable,scrollbars')

答案 3 :(得分:0)

覆盖所有基地

最安全的重定向方式是添加noopenernoreferrerwindow.opener = null

const openInNewTab = (url) => {
    const newWindow = window.open(url, '_blank', 'noopener,noreferrer')
    if (newWindow) newWindow.opener = null
}

然后调用您的新功能

openInNewTab('https://stackoverflow.com')

根据您的需要,第三个参数也可以使用these optional values