为了刷新页面,我使用window.location = window.location,它可以很好地用于FireFox,但不能用于IE7
有什么想法吗?
谢谢
发布于 2010-12-20 21:30:09
改为调用reload method
location.reload(true)发布于 2010-12-20 22:12:28
要重新加载页面,最好的解决方案是使用window.location.reload();
你说弹出这个是为了确认?这可能是因为调用您所在的页面时发送了POST数据。
如果您希望这些POST数据再次发送,您没有一个简单的解决方案来避免这种确认(也许使用ajax您可以做到这一点……您将花费大量时间来做这件事)。
如果你不想再次发布数据,那么你就不想重新加载页面!您只需要加载相同的URL。
问题是,如果你对你的浏览器说,加载这个网址,它什么也不会做,因为你所说的网址已经载入了(对于大多数浏览器,没有网址更改->不会重新载入页面)!
解决这个问题的一个简单方法是调用相同的URL加上一个随机的查询字符串值。这样,您调用的URL就是一个新URL。
要做到这一点,非常简单的方法:
window.location.search += '&' + Math.random();这种解决方案的一个问题是,您的URL可能会变得杂乱无章。
根据您的需要和您的URL,您可能会找到一种方法,只需进行很小的更改,就足以使浏览器重新加载页面。
发布于 2010-12-20 22:21:51
另一个简单的解决方案是提交空表单。现在针对IE、FF和Chrome进行了测试:
function Reload() {
var oForm = document.createElement("form");
document.body.appendChild(oForm);
oForm.submit();
}通过这种方式,您还可以从服务器读回提交的数据,并在没有您提到的“确认”的情况下再次提交它,如果相关,请让我们知道您使用的是哪种服务器端语言。
https://stackoverflow.com/questions/4490080
复制相似问题