【问题标题】:Click link and call javascript and then "Open in new tab"单击链接并调用 javascript,然后“在新选项卡中打开”
【发布时间】:2014-05-14 06:25:10
【问题描述】:

我的页面中有一个链接。

<a onclick="Click()">Click me</a>

当我单击此链接时,会触发调用 Click 函数的 onclick 事件。在这个函数中,我有一些 javascript 代码,然后,我想重定向到另一个页面。

function Click() { 
    //some code
    window.location = url;
}

当用户右键单击链接并选择“在新标签中打开”时,新标签打开,并且 url 为:“about:blank”。

我该如何纠正这个问题? 谢谢。

【问题讨论】:

    标签: javascript hyperlink onclick


    【解决方案1】:

    关键是不要用 Javascript 替换锚功能。锚点旨在将您带到一个新的 URL。如果您有一个锚点,请将其用作锚点(例如,在其上设置一个href)。不要绑定使用window.location 重定向到新网址的点击事件。

    您当前的主播没有href。因此,当您尝试在新选项卡中打开它时,没有任何加载也就不足为奇了。您实际上在新标签中没有打开任何内容。

    如果您真的需要动态设置 URL,那么使用 javascript 更改元素的 href。例如:

    document.getElementById('my-element').href = new_href;
    

    不用说,这需要在单击锚点之前完成(而不是在单击时)。比如关于window.load,或者完成生成动态URL的函数。

    【讨论】:

      【解决方案2】:

      使用window.open 函数并在第二个参数函数中传递_blank

        function Click() { 
          //some code
          window.open(url,'_blank');
      } 
      

      【讨论】:

        【解决方案3】:

        你应该更正你的锚标记是这样的:

           <a href="http://yourLink.com" target="_blank" onclick="Click();">link text</a>
        

        这样,当用户点击链接时,它将在新标签页中打开,您将执行点击功能。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-04-07
          • 1970-01-01
          • 2017-01-05
          • 2014-03-04
          • 2012-04-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多