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

时间:2010-12-20 13:28:56

标签: javascript

要刷新我正在使用的页面window.location = window.location它适用于FireFox但不适用于IE7

任何想法??

感谢名单

3 个答案:

答案 0 :(得分:8)

改为调用reload method

location.reload(true)

答案 1 :(得分:3)

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

你说这会弹出确认吗?这可能是因为您所在的页面是在发送POST数据的情况下调用的。

如果你想再次发送POST数据,你没有一个简单的解决方案来避免这种确认(可能使用ajax你可以做到....你会花很多时间这样做)。

如果您不想再次发布数据,那么您不想重新加载页面!您只想加载相同的网址。

问题是,如果您对浏览器说,加载此网址,它将无效,因为您所说的网址已经加载(对于大多数浏览器,没有网址更改 - >没有网页重新加载)!

解决此问题的一种简单方法是调用相同的URL以及随机查询字符串值。这样您调用的URL就是新的。

要做到这一点非常简单:

window.location.search += '&' + Math.random();

此解决方案的一个问题是您的网址会变得混乱......

根据您的需求和网址,您可能会找到一种方法来进行非常少的更改,足以让浏览器重新加载页面。

答案 2 :(得分:1)

另一个简单的解决方案是提交空表格..现在测试IE,FF和Chrome:

function Reload() {
    var oForm = document.createElement("form");
    document.body.appendChild(oForm);
    oForm.submit();
}

通过这种方式,您还可以从服务器读取已发布的数据,并在没有您提及的“确认”的情况下再次提交,如果相关,请告诉我们您正在使用的服务器端语言。