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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值