【问题标题】:Window opened using window.open reopens when browser back button is clicked使用 window.open 打开的窗口在单击浏览器后退按钮时重新打开
【发布时间】:2014-01-16 10:47:46
【问题描述】:

我创建了一个 asp.net Web 应用程序,它在 default.aspx 中有一个链接按钮和超链接。超链接设置为navigationurl -“www.google.com”。 Linkbutton 使用 javasript 的 window.open 在新选项卡中打开相同的 url。

默认.aspx

    <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">Data</asp:LinkButton><br />
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="http://www.google.co.in">google</asp:HyperLink>

默认.aspx.cs

protected void LinkButton1_Click(object sender, EventArgs e)
    {
       string url = "http://www.google.com";
        ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open('" + url + "');", true);
    }

重现我的查询的步骤: 1. 点击链接按钮。这将在新窗口/标签中打开谷歌。 2. 单击超链接。这导航到谷歌。 3. 单击浏览器返回按钮。 这次浏览器导航回 default.aspx,同时 google 在新窗口/标签中打开。
我希望这不会发生。

【问题讨论】:

标签: c# javascript asp.net


【解决方案1】:

使用超链接按钮而不是链接按钮并使用target="_blank"url ="www.google.com" 这将在新窗口中打开网址
无需使用java脚本打开一个新窗口....也将解决您的问题

<asp:HyperLink ID="HyperLink2" Target="_blank" NavigateUrl="http://www.google.co.in" runat="server"  >Data</asp:HyperLink><br />

<asp:HyperLink ID="HyperLink1" Target="_self" runat="server" NavigateUrl="http://www.google.co.in">google</asp:HyperLink>

【讨论】:

    【解决方案2】:

    这里是代码:将代码添加到您不希望用户使用返回返回的页面。

    if(history.length>0) history.go(+1);

    在身体负荷时调用它

    基本上我会增加浏览器历史记录。

    【讨论】:

      【解决方案3】:

      在你的 head 标签中添加这个代码函数

      <script type="text/javascript">
              function myfun() {
      
                  window.open("http://www.google.co.in");
                  return false;
              }
          </script>
      

      在你的身体里

      <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="return myfun();">Data</asp:LinkButton><br />
      <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="http://www.google.co.in">google</asp:HyperLink>
      

      注意:避免对服务器的任何请求,除非不需要,您也可以在&lt;a&gt;标签的帮助下保持target="_blank"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-16
        • 1970-01-01
        • 1970-01-01
        • 2023-04-07
        • 2015-09-09
        • 2012-03-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多