繁体   English   中英

单击window后退按钮时,使用window.open打开的窗口重新打开

[英]Window opened using window.open reopens when browser back button is clicked

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

Default.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>

Default.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.单击LinkBut​​ton。 这会在新窗口/标签中打开google。 2.单击超链接。 这导航到谷歌。 3.单击浏览器后退按钮。 这次浏览器导航回default.aspx,同时google在新窗口/选项卡中打开。
不想这样。

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

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

称其为体重

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

在您的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>

注意:除非对服务器有任何要求,否则除非对服务器有任何要求,否则不要进行任何请求,也可以在<a>标记的帮助下通过保持target="_blank"

使用超链接按钮代替链接按钮,并使用target="_blank"url ="www.google.com"这将在新窗口中打开url
无需使用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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM