使用“nofollow/赞助”时,window.open 在新窗口而不是新选项卡中打开

Posted

技术标签:

【中文标题】使用“nofollow/赞助”时,window.open 在新窗口而不是新选项卡中打开【英文标题】:window.open opens in new window instead of new tab when using "nofollow/sponsored" 【发布时间】:2021-08-22 09:55:21 【问题描述】:

我有一个 window.open 链接,预计会打开一个新选项卡,但是当我在其上使用“nofollow”时,它会以某种方式打开一个新窗口。

这会打开一个新标签:

        $('.b_link').click(function (e) 
        e.preventDefault();
        window.open(' $sponsored_product->website.' ', '_blank', 'noopener');
    );

但这不会,它会打开一个新窗口。

        $('.b_link').click(function (e) 
        e.preventDefault();
        window.open(' $sponsored_product->website.' ', '_blank', 'noopener nofollow');
    );

不知何故,“nofollow”会触发链接在新窗口而不是新标签页中打开。这是为什么?以及如何解决?我需要 nofollow 或“赞助”。

【问题讨论】:

我不认为 window.open 上的nofollow 会做你认为它会做的事情。你认为添加这个会发生什么? 相关:developer.mozilla.org/en-US/docs/Web/API/Window/… 我不明白你显示的代码首先会如何工作,' $sponsored_product->website.' ' 看起来应该触发语法错误......? @freedomn-m 我想我明白你说的。 nofollow 在那里是不可能的,因为它不是 html 链接,谷歌无论如何都无法访问它? @CBroe 语法正确,就是laravel。 【参考方案1】:

试试这个

 $('.b_link').click(function (e) 
        e.preventDefault();
        window.open(' $sponsored_product->website.' ','noopener nofollow');
    );

【讨论】:

这修复了它!所以 nofollow 会在 window.open 中触发 _blank 或者我怎么能理解这个? @DappFuture 不,这并没有解决它。您现在用 name noopener nofollow 打开了一个窗口,而不是实际设置窗口选项 noopenernofollow @Dapp Future :原因是当你输入“window.open”时它已经被路由到一个新标签,然后当你输入“_blank”时它自动路由到一个新窗口.. 首先我认为这解决了它,但从其他人所说的和一些更多的研究来看,这里似乎不能使用nofollow,因为谷歌在窗口中没有找到链接。反正开。所以只有 noopener 是可能的和需要的?!

以上是关于使用“nofollow/赞助”时,window.open 在新窗口而不是新选项卡中打开的主要内容,如果未能解决你的问题,请参考以下文章

判断手机横竖屏

关于javascript中window.onload的困惑

document.ready和window.onload的区别

javascript通用代码合集

js实现页面跳转并传值

asp.net页面实用代码片段