但这样做发现有问题,在导航栏点击某一个栏目,打开一个新窗口,然后关闭。再点击公告栏的更多按钮,直接进入新页面后,再按IE浏览器上的后退按钮,应该是退回首页。但问题就出在这里,退回首页的同时,也打开一个新窗口,新窗口的内容就是公告栏按更多按钮所进入的页面。不知道是什么原因???
如果首先不按导航栏的栏目,而进入公告栏,再按IE后退按钮,那正常。我想是和我改动导航栏的连接有关
8 个解决方案
#1
用超链接<a href="..." target="_top">文本</a
#2
我那些导航栏每个栏目都是按钮来的,一点击就把相关参数写入Session里面,然后重定向页面。所以用超链接方式不行。
有什么办法可以把打开一个新窗口的时候,原来窗口的IE后退没相关记录?
有什么办法可以把打开一个新窗口的时候,原来窗口的IE后退没相关记录?
#3
你可以看看页面过期的问题。具体我也不太清楚。
#4
要不是你Session的问题,要不就是Page.IsPostBack的事。关注!
#5
当你使用Response.Write("<script >window.open('接网页地址');</script> ).
的时候,其实网页已经被改变了,里面加了一个无条件执行的javascript语句:
类似:
<html>
………………
<script >window.open('接网页地址');</script>
………………
</html>
很明显,只要页面刷新。就会打开新网页。
那么当你转移到新页面以后,再退回history.back()
IE会调用缓存里面的页面,也就是你写了<script >window.open('接网页地址');</script>的页面。
那么自然会打开一个新页面了。
解决办法:
1. 禁止使用IE上的回退按钮,而是自己提供回退按钮,重新从服务器上获取首页。就不会打开新窗口了。
2. 使用超链接<a href="http://www.sina.com.cn" target="_blank">文本</a>
3. 用onclick事件<SPAN onclick='window.open('接网页地址');'>文本</SPAN>
4. …………
的时候,其实网页已经被改变了,里面加了一个无条件执行的javascript语句:
类似:
<html>
………………
<script >window.open('接网页地址');</script>
………………
</html>
很明显,只要页面刷新。就会打开新网页。
那么当你转移到新页面以后,再退回history.back()
IE会调用缓存里面的页面,也就是你写了<script >window.open('接网页地址');</script>的页面。
那么自然会打开一个新页面了。
解决办法:
1. 禁止使用IE上的回退按钮,而是自己提供回退按钮,重新从服务器上获取首页。就不会打开新窗口了。
2. 使用超链接<a href="http://www.sina.com.cn" target="_blank">文本</a>
3. 用onclick事件<SPAN onclick='window.open('接网页地址');'>文本</SPAN>
4. …………
#6
之前我用了几种方法都不行:
(1)Page.RegisterClientScriptBlock("openWindow","<script language>\rwindow.open('连接页面');\r</script>");
(2)RegisterStartupScript("openWindow","<script language>\rwindow.open('连接页面');\r</script>");
效果和Response.Write一样,跟着我只好从IE后退按钮下手,用javascript控制回退,正如楼上那位讲的第一种方法。添加多一条javascript语句:
Response.Write("<script>window.open('连接网页');window.history.back(0);</script>");
这样打开新页面的时候的同时并使原来页面IE自动后退。
楼上那位后两种方法,只适用文本连接标签把?我的是图片按钮,有点击事件。
(1)Page.RegisterClientScriptBlock("openWindow","<script language>\rwindow.open('连接页面');\r</script>");
(2)RegisterStartupScript("openWindow","<script language>\rwindow.open('连接页面');\r</script>");
效果和Response.Write一样,跟着我只好从IE后退按钮下手,用javascript控制回退,正如楼上那位讲的第一种方法。添加多一条javascript语句:
Response.Write("<script>window.open('连接网页');window.history.back(0);</script>");
这样打开新页面的时候的同时并使原来页面IE自动后退。
楼上那位后两种方法,只适用文本连接标签把?我的是图片按钮,有点击事件。
#7
发现用打开新窗口方式会给一些IE拦截广告工具拦截,所以有缺陷,有没有方法可以再一个图片按钮下使用超链接<a href="http://www.sina.com.cn" target="_blank">文本</a> 这种方式打开新窗体?
#8
有没有办法可以再ImageButton 增加一个属性,类似HyperLink的NavigateUrl一样,我处理完ImageButton的事件后,在执行页面跳转。因为NavigateUrl可以直接http://www.sina.com.cn" target="_blank",弹出一个窗口,不会给IE拦截广告工具拦截
#1
用超链接<a href="..." target="_top">文本</a
#2
我那些导航栏每个栏目都是按钮来的,一点击就把相关参数写入Session里面,然后重定向页面。所以用超链接方式不行。
有什么办法可以把打开一个新窗口的时候,原来窗口的IE后退没相关记录?
有什么办法可以把打开一个新窗口的时候,原来窗口的IE后退没相关记录?
#3
你可以看看页面过期的问题。具体我也不太清楚。
#4
要不是你Session的问题,要不就是Page.IsPostBack的事。关注!
#5
当你使用Response.Write("<script >window.open('接网页地址');</script> ).
的时候,其实网页已经被改变了,里面加了一个无条件执行的javascript语句:
类似:
<html>
………………
<script >window.open('接网页地址');</script>
………………
</html>
很明显,只要页面刷新。就会打开新网页。
那么当你转移到新页面以后,再退回history.back()
IE会调用缓存里面的页面,也就是你写了<script >window.open('接网页地址');</script>的页面。
那么自然会打开一个新页面了。
解决办法:
1. 禁止使用IE上的回退按钮,而是自己提供回退按钮,重新从服务器上获取首页。就不会打开新窗口了。
2. 使用超链接<a href="http://www.sina.com.cn" target="_blank">文本</a>
3. 用onclick事件<SPAN onclick='window.open('接网页地址');'>文本</SPAN>
4. …………
的时候,其实网页已经被改变了,里面加了一个无条件执行的javascript语句:
类似:
<html>
………………
<script >window.open('接网页地址');</script>
………………
</html>
很明显,只要页面刷新。就会打开新网页。
那么当你转移到新页面以后,再退回history.back()
IE会调用缓存里面的页面,也就是你写了<script >window.open('接网页地址');</script>的页面。
那么自然会打开一个新页面了。
解决办法:
1. 禁止使用IE上的回退按钮,而是自己提供回退按钮,重新从服务器上获取首页。就不会打开新窗口了。
2. 使用超链接<a href="http://www.sina.com.cn" target="_blank">文本</a>
3. 用onclick事件<SPAN onclick='window.open('接网页地址');'>文本</SPAN>
4. …………
#6
之前我用了几种方法都不行:
(1)Page.RegisterClientScriptBlock("openWindow","<script language>\rwindow.open('连接页面');\r</script>");
(2)RegisterStartupScript("openWindow","<script language>\rwindow.open('连接页面');\r</script>");
效果和Response.Write一样,跟着我只好从IE后退按钮下手,用javascript控制回退,正如楼上那位讲的第一种方法。添加多一条javascript语句:
Response.Write("<script>window.open('连接网页');window.history.back(0);</script>");
这样打开新页面的时候的同时并使原来页面IE自动后退。
楼上那位后两种方法,只适用文本连接标签把?我的是图片按钮,有点击事件。
(1)Page.RegisterClientScriptBlock("openWindow","<script language>\rwindow.open('连接页面');\r</script>");
(2)RegisterStartupScript("openWindow","<script language>\rwindow.open('连接页面');\r</script>");
效果和Response.Write一样,跟着我只好从IE后退按钮下手,用javascript控制回退,正如楼上那位讲的第一种方法。添加多一条javascript语句:
Response.Write("<script>window.open('连接网页');window.history.back(0);</script>");
这样打开新页面的时候的同时并使原来页面IE自动后退。
楼上那位后两种方法,只适用文本连接标签把?我的是图片按钮,有点击事件。
#7
发现用打开新窗口方式会给一些IE拦截广告工具拦截,所以有缺陷,有没有方法可以再一个图片按钮下使用超链接<a href="http://www.sina.com.cn" target="_blank">文本</a> 这种方式打开新窗体?
#8
有没有办法可以再ImageButton 增加一个属性,类似HyperLink的NavigateUrl一样,我处理完ImageButton的事件后,在执行页面跳转。因为NavigateUrl可以直接http://www.sina.com.cn" target="_blank",弹出一个窗口,不会给IE拦截广告工具拦截