我在我的网站上使用了弹出窗口。问题是,当我打开弹出窗口并转到另一页然后返回上一页时,弹出窗口将刷新并再次打开!!没有任何压力! 我该如何解决? 我希望这个弹出窗口不会再回到那个页面了。
这是我的弹出代码:
.......
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.3/jquery-ui.min.js" ></script>
<script type='text/javascript' src='jquery-1.2.3.min.js'></script>
<script type='text/javascript' src='menu.js'></script>
<script type="text/javascript">
function pop_up(url) {
newwindow = window.open(url, 'name', 'height=517,width=885,scrollbars=yes,toolbar=no,menubar=no,resizable=yes,location=no,directories=no,status=no,titlebar=no,left=400,top=120');
if (window.focus) { newwindow.focus() }
return false;
}
</script>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.style2
{
.......
并在代码后面:
Page.ClientScript.RegisterStartupScript(GetType(), "popup", "pop_up('" + "PopUpEmailing.aspx" + "');", true);
答案 0 :(得分:1)
一种解决方案是使用window.name
属性。
我知道如果另一个库也试图使用它,这个解决方案可能会导致冲突。
但我更喜欢这个,然后使用cookie。 (你也可以考虑使用本地存储)
function displayPopUp() {
if( window.name != "popup-displayed" ) {
window.name = "popup-displayed";
... popup code ...
}
}
答案 1 :(得分:0)
不要使用Page.ClientScript.RegisterStartupScript
,请尝试以下操作。
<asp:Button runat="server" ID="btnTest" Text="My Button" OnClientClick="pop_up('" + "PopUpEmailing.aspx" + "')"><asp:Button>
上面将创建一个按钮,当按钮被点击时,将调用客户端事件,它将运行你的pop_up javascript代码。