html / javascript:在新标签页中隐藏链接目标和打开链接

时间:2017-08-14 14:46:12

标签: javascript html hyperlink

我使用以下javascript(由m59this上一个回答中提供)来隐藏链接的目的地,该链接通常在鼠标悬停在链接上时显示在浏览器窗口的底部:

<div>
    <a data-href="http://www.google.com/"> LINK </a>

    <script type="text/javascript">
        var anchors = document.querySelectorAll('a[data-href]');

        for (var i=0; i<anchors.length; ++i) {
          var anchor = anchors[i];
          var href = anchor.getAttribute('data-href');
          anchor.addEventListener('click', function() {
            window.location = href;
          });
        }
    </script>
</div>

这很好用,但我想在新标签页中打开链接。我如何更改脚本才能这样做?

我尝试使用window.open('href','_blank');代替window.location = href;,而不是{ "sender":{ "id":"USER_ID" }, "recipient":{ "id":"PAGE_ID" }, "timestamp":1458692752478, "message":{ "mid":"mid.1457764197618:41d102a3e1ae206a38", "text":"hello, world!", "quick_reply": { "payload": "DEVELOPER_DEFINED_PAYLOAD" } } }

5 个答案:

答案 0 :(得分:0)

除非我遗漏了某些东西,否则最明显的事情是为该锚添加一个目标:

<a data-href="http://www.google.com/" target="blank"> LINK </a>

答案 1 :(得分:0)

这是如何做到的(尝试使用代码,stackoverflow阻止新选项卡和链接)

var anchors = document.querySelectorAll('a[data-href]');

        for (var i=0; i<anchors.length; ++i) {
          var anchor = anchors[i];
          var href = anchor.getAttribute('data-href');
          anchor.addEventListener('click', function() {
            window.open(href,'','');
          });
        }
<div>
    <a data-href="http://www.google.com/"> LINK </a>

</div>

答案 2 :(得分:0)

你可以看到here,window.open的语法是:

var window = window.open(url, windowName, [windowFeatures]);

因此,要在新标签中打开链接,您应该使用以下内容:

var myNewTab = window.open(url, '_blank');

如果您将窗口打开为'_blank'

,它将无效

答案 3 :(得分:0)

你试过window.open(href)吗?

即。在您的示例中,href是一个字符串(它周围有单引号)而不是变量。

答案 4 :(得分:-1)

为什么不使用onclick事件处理程序来重定向用户?

<a href="" onclick="onClick">link</a>

function onClick(e) {
  e.preventDefault();
  document.location.href='www.google.ca';
}