window.opener.location.reload();弹出确认对话框

window.opener.location.reload();是刷新父窗口。写在子窗口的JSP中。(在父窗口中打开的一个窗口叫子窗口)。

问题:通过这个方法(也就是相当于F5刷新的功能。)会弹出一个确认的对话框。

解决:
如果你用虚拟的目录:如struts的*.do会提示你重试

你可以改成这样 window.opener.forms[0].submit()。

但是如果此时页面中有两个submit的方法,
例如onclick = doSearch();  onclick = doDownload();  就会不确定提交的是哪个submit。


因此要用window.opener.doSearch();就可以重新刷新页面了。


另外需要注意post get方法

其他方法:

window.opener.location.href=window.opener.location.href; 
window.opener.location.reload(); 
经测试,这两句在某些情况下可以代替location.reload(true);
而不会出现重试对话框达到刷新的效果
在js中实现刷新页面的方法有很多种,在js中有一个location.reload()函数,它就可以实现我们想要的功能。 
window.location.reload(true) //浏览器重新从服务器请求资源,在http请求头中不会包含缓存标记。

HTML DOM reload()方法:
如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。
如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。

猜你喜欢

转载自ztao2333.iteye.com/blog/2325716