【问题标题】:Open a tab with a URL when link clicked单击链接时打开带有 URL 的选项卡
【发布时间】:2013-12-24 09:45:56
【问题描述】:

我想在单击“条款和条件”链接时在同一浏览器中打开一个新选项卡,该链接应返回 URL:http://localH:30321/OrchardLocal/TermsAndConditions

到目前为止我有:

<p>Accept the <a href="~/" target="_blank" onclick="newwin()"> <span class="big-red">Terms and Conditions</span></a></p>
<script>
    function newwin() {
        window.open("~/TermsAndConditions");
    }
</script>

这实际上在同一个浏览器中打开了 2 个新标签页。

http://localH:30321/OrchardLocal/Users/Account/~/TermsAndConditions

由于显而易见的原因无法找到引发页面 广告然后第二个标签显示主页:

http://localH:30321/OrchardLocal/

尝试删除 href 和 ~/... 之一似乎无法得到它...有帮助吗? 谢谢

【问题讨论】:

  • 检查我的答案..它会解决你的问题。

标签: c# javascript jquery html asp.net-mvc


【解决方案1】:

首先抱歉回答错误: 由于您想在同一浏览器的新标签中打开网址,这是不可能的。这完全取决于浏览器设置。

http://forums.asp.net/t/1902352.aspx

Open a URL in a new tab (and not a new window) using JavaScript

如果浏览器设置是默认设置(FF 测试)

这将工作Open new tab in same browser window

function openinnewTab() {
    var win = window.open("~/TermsAndConditions", '_blank');
    win.focus();
}

【讨论】:

    【解决方案2】:

    试试这个

    function newwin(e) {
        e.preventDefault();
        window.open("/TermsAndConditions", '_blank');
    }
    

    顺便说一句,你不能在javascript中直接使用“~”..如果你想使用这样的服务器代码

    function newwin(e) {
    e.preventDefault();
    window.open('<%= ResolveUrl("~/TermsAndConditions") %>', '_blank');
    }
    

    编辑

    <p>Accept the <a href="javascript: void(0)" target="_blank" onclick="newwin()"> <span class="big-red">Terms and Conditions</span></a></p>
    

    JS

    function newwin(e) {
    
        window.open('<%= ResolveUrl("~/TermsAndConditions") %>', '_blank');
    
        }
    

         function newwin(e) {
    
                window.open("/TermsAndConditions", '_blank');
    
            }
    

    或者纯asp.net代码

    <p>Accept the <a runat="server" href="~/TermsAndConditions" target="_blank" > <span class="big-red">Terms and Conditions</span></a></p>
    

    你必须添加 runat="server" 属性

    【讨论】:

    • 感谢您的回复我已经完全尝试过了,但得到了错误:行:155 错误:无法获取未定义或空引用的属性“preventDefault”
    • 再次感谢您抽出宝贵时间回复。当我单击链接时,它告诉我错误:'newwin' 未定义,当新选项卡加载时,url 也是:'javascript: void(0)'
    • 再次编辑。尝试最后一个你不需要javascript的:)
    【解决方案3】:
    <a href='JavaScript:newwin('<%=ResolveClientUrl("~/OrchardLocal/TermsAndConditions")%>');'  >
    

    <script>
        function newwin(url) {
            window.open(url,'_blank');
        }
    </script>
    

    【讨论】:

    • 你不能直接在javascript中使用~
    • 感谢您的回复。我已经完全尝试过了,但现在屏幕上出现了接受“onclick="newwin()">条款和条件,并且无法再点击条款和条件?
    【解决方案4】:

    一个选项卡用于您的 href,另一个用于您的 onclick。 sajad-lfc 给出了正确的答案。

    【讨论】:

      【解决方案5】:

      试试下面这段代码

      <p>Accept the <a href="~/" target="_blank" onclick="newwin()"> <span class="big-red">Terms and Conditions</span></a></p>
      <script>
          $("span.big-red").on("click", function () {
              window.open('www.yourdomain.com', '_blank');
          });
      </script>
      

      这是完美的,希望对你有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-04
        • 2022-07-30
        • 1970-01-01
        • 2010-12-01
        • 2016-05-06
        • 1970-01-01
        • 2017-06-29
        相关资源
        最近更新 更多