ASP.NET页面中window.open方法对history对象的影响及解决

在ASP.NET页面中,如果想返回前一页面。可以调用javascript的window.history.back()方法。这种方法在大部分情况下 是有效的,但是如果界面中有按钮等控件执行了window.open()的javascript方法来打开其它页面后, window.history.back()方法就不太好用了,原因是javascript将打开的页面地址也保存进了history对象。所以执行了若 干次window.open()方法,必须执行相应次数的window.history.back()方法返回,然后才能执行 window.history.back()方法返回前一页面。
知道产生问题的原因,就好解决问题了,我们只要在每次调用window.open()方法之后,执行一次window.history.back()清除掉刚保存进histroy对象的页面地址。这样问题就顺利解决了!!

实例代码是在vs2005下实现的,vs2003下也同样适用。vs2008未测试!

实例源码下载地址: http://files.cnblogs.com/redleaf1995/testHistory.rar

你可能感兴趣的:(window.open)