【问题标题】:_blank is affecting current tab as well as opening new tab. Why?_blank 正在影响当前选项卡以及打开新选项卡。为什么?
【发布时间】:2015-06-03 12:22:09
【问题描述】:

相关网站:http://www.chicagoswimschool.com/

当您单击页脚中的任何社交图标时,它将打开一个带有所需 URL 的新选项卡,但同时它会影响当前选项卡并将其重定向到所需的 URL。如何让 _blank 只打开一个新标签,而不影响之前的标签?

链接的代码也很简单

<a href="https://twitter.com/SwimWithCSS" target="_blank" title="Twitter icon"><span class="inner">twitter</span></a>

【问题讨论】:

  • 您是否有该网站这样做的明确示例?喜欢那里的页面,其中的文字显然是链接?
  • 没有可以触发的javascript?
  • @Mike'Pomax'Kamermans 他用推特按钮链接了该网站。
  • 迈克,正如我在上面链接的那样,您可以单击我帖子中的网站链接,一直向下滚动并单击任何社交图标,它就会这样做。
  • 这是用 JS 完成的。如果你禁用JS,没有问题。

标签: html


【解决方案1】:

这是由/wp-content/themes/passage/js/ajax.min.js的以下代码完成的

$j(document).on('click', 'a', function (e) {
  if ($j(this).hasClass('bx-prev')) {
    return false
  }
  if ($j(this).hasClass('bx-next')) {
    return false
  }
  if ($j(this).parent().hasClass('load_more')) {
    return false
  }
  if ($j(this).parent().hasClass('comments_number')) {
    var t = $j(this).attr('href').split('#') [1];
    $j('html, body').scrollTop($j('#' + t).offset().top);
    return false
  }
  if ($j(this).closest('.no_animation').length === 0) {
    if (document.location.href.indexOf('?s=') >= 0) {
      return true
    }
    if ($j(this).attr('href').indexOf('wp-admin') >= 0) {
      return true
    }
    if ($j(this).attr('href').indexOf('wp-content') >= 0) {
      return true
    }
    document.location.href = $j(this).attr('href');
    if ($j(this).attr('href') !== 'http://#' && $j(this).attr('href') !== '#') {
      disableHashChange = true;
      var n = $j(this).attr('href');
      var r = n.indexOf(root);
      if (r === 0) {
        e.preventDefault();
        e.stopImmediatePropagation();
        e.stopPropagation();
        onLinkClicked($j(this))
      }
    } else {
      return false
    }
  }
})

您可以尝试删除该代码,或者特别是更改document.location.href 的行。但这种方法可能会破坏其他东西。

更安全的方法是将no_animation 类添加到图标的祖先,这样$j(this).closest('.no_animation').length 就不会是0

【讨论】:

  • 谢谢!我应该删除这部分代码吗?
  • @user3376981 删除它将解决此特定问题。但可能会破坏其他东西。
  • 很奇怪。我会尝试删除它是否可以在不破坏任何东西的情况下解决问题,但如果它确实破坏了重要的东西,我不知道该怎么办
猜你喜欢
  • 1970-01-01
  • 2017-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 2011-09-07
相关资源
最近更新 更多