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 健的效果是完全一样。
window.opener.location.reload();弹出确认对话框
最新推荐文章于 2023-05-22 10:52:13 发布
本文介绍JavaScript中使用window.opener.location.reload()及window.opener.forms[0].submit()等方法刷新父窗口的技术细节,并探讨不同场景下如何有效避免弹出确认对话框的问题。
摘要由CSDN通过智能技术生成