【问题标题】:window.open opens in new window instead of new tab when using "nofollow/sponsored"使用“nofollow/赞助”时,window.open 在新窗口而不是新选项卡中打开
【发布时间】: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 会做你认为它会做的事情。你认为添加这个会发生什么?
  • 我不明白你显示的代码首先会如何工作,'{{ $sponsored_product->website.' }}' 看起来应该触发语法错误......?
  • @freedomn-m 我想我明白你说的。 nofollow 在那里是不可能的,因为它不是 html 链接,谷歌无论如何都无法访问它?
  • @CBroe 语法正确,就是laravel。

标签: javascript html jquery hyperlink


【解决方案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 是可能的和需要的?!
猜你喜欢
  • 2015-04-21
  • 2012-04-14
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
  • 2011-06-21
相关资源
最近更新 更多