我在a页面中有个业务操作,提交到*.do后调用相应的业务逻辑,不管这个业务逻辑成功与否,最后都会跳转B页面!
B页面中
[code="java"]out.println("alert(\""+procMsg+"\");window.close();history.back();");[/code]
其中的history.back();如何在firefox下能正常执行那? 这个out.print就是弹出一个警告框,然后B页面关掉,A页面后退。
在firefox下这个js怎么写那?
[b]问题补充:[/b]
B页面就是一个新页面,那怎么样才能使A页面回退?IE就没问题哦。
history.back()在任何浏览器上面都可以正确执行.可能是你用的方式不对,没有产生效果.
Ps:你的这个问题没有描述清楚.不知道B页面是一个新的窗口还是和A页面同在一个窗口中.
如果是一个新的窗口.并且在B页面仅仅是搞出一个弹出窗口来.那B页面就是一个多余的.完全可以在同一个窗口中打开.
如果在同一个窗口中.则B页面中的window.close完全可以去掉,直接调用history.back();
如果是一个新窗口.而且B页面中的重要内容.一定要显示一下.那就没办法了,因为你是在a页面将数据提交到一个新页面,再到页面中转发到B页面.这两个页面就完全失去了联系.没办法从B页面得到A页面的相关信息.当然也就无法执行history.back操作了.你这段代码中所执行的只是B页面中的history.back对象.所以才无法执行.
...我自己写了一个程序测试了一下.FF和IE的效果都一样.同样都实现不了返回的操作啊.
建议楼主用Ajax的方式实现.
使用window.open打开一个新页面
在新页面中用opener.history.back()来实现返回.