首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >window.location = window.location在IE7中不起作用

window.location = window.location在IE7中不起作用
EN

Stack Overflow用户
提问于 2010-12-20 21:28:56
回答 3查看 6.8K关注 0票数 2

为了刷新页面,我使用window.location = window.location,它可以很好地用于FireFox,但不能用于IE7

有什么想法吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-20 21:30:09

改为调用reload method

代码语言:javascript
复制
location.reload(true)
票数 8
EN

Stack Overflow用户

发布于 2010-12-20 22:12:28

要重新加载页面,最好的解决方案是使用window.location.reload();

你说弹出这个是为了确认?这可能是因为调用您所在的页面时发送了POST数据。

如果您希望这些POST数据再次发送,您没有一个简单的解决方案来避免这种确认(也许使用ajax您可以做到这一点……您将花费大量时间来做这件事)。

如果你不想再次发布数据,那么你就不想重新加载页面!您只需要加载相同的URL。

问题是,如果你对你的浏览器说,加载这个网址,它什么也不会做,因为你所说的网址已经载入了(对于大多数浏览器,没有网址更改->不会重新载入页面)!

解决这个问题的一个简单方法是调用相同的URL加上一个随机的查询字符串值。这样,您调用的URL就是一个新URL。

要做到这一点,非常简单的方法:

代码语言:javascript
复制
window.location.search += '&' + Math.random();

这种解决方案的一个问题是,您的URL可能会变得杂乱无章。

根据您的需要和您的URL,您可能会找到一种方法,只需进行很小的更改,就足以使浏览器重新加载页面。

票数 3
EN

Stack Overflow用户

发布于 2010-12-20 22:21:51

另一个简单的解决方案是提交空表单。现在针对IE、FF和Chrome进行了测试:

代码语言:javascript
复制
function Reload() {
    var oForm = document.createElement("form");
    document.body.appendChild(oForm);
    oForm.submit();
}

通过这种方式,您还可以从服务器读回提交的数据,并在没有您提到的“确认”的情况下再次提交它,如果相关,请让我们知道您使用的是哪种服务器端语言。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4490080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档