4

如何在 IE 中使用 Javascript 刷新页面?以下代码在 Mozilla 中有效,但在 Internet Explorer 中无效

window.location.reload());
history.go(0);
4

6 回答 6

7

In javascript you can use:

location.reload(); => post request, same as click the refresh button on the browser
window.location=window.location; => get request
self.location=self.location; => get request

If you get an IE error saying

'To display the webpage again, Internet Explorer needs to resend the information you've previously submitted',

you can use window.location=window.location; to refresh the page instead of location.reload();

Implementation:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="PostMethod_Test._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Literal ID="litJavascript" runat="server"></asp:Literal>
<div>
Refresh:
<div>
Get/Post Method:<a href="javascript:location.reload();">JS Location Reload</a> (if
there is any control in the form then after the form was submitted for the first
time, if you click this, it will be a post method coming with the IE alert)
</div>
<div>
Get Method:<a href="javascript:window.location=window.location;">JS Window Location</a>
(does not create a history entry) (if there is any control in the form then after
the form was submitted for the first time, if you click this, it will still be a
get method which means the form will not be submitted again)
</div>
<div>
Get Method:<a href="javascript:self.location=self.location;">JS Self Location</a>
(Same as above)
</div>
<div>
Get/Post Method: IE Refresh button - same as location.reload()
</div>
</div>
<hr />
<div>
Open New Window:
<div>
No Method:<a href="javascript:var a = window.open('webform1.aspx');">JS Window Open</a>
(just open)
</div>
<div>
Post Method for parent page:<asp:Button ID="btnOpen" Text="Open Window" runat="server"     />
</div>
</div>
</div>
</form>
</body>
</html>
于 2012-08-03T05:09:13.993 回答
6

Window.location.href is the url of the window page. What you do, is just rewrite the very same value in it, so the browser send another GET request to the very same ur

window.location.href = window.location.href;
于 2012-08-03T05:03:51.287 回答
1
window.location = window.location
于 2012-08-03T05:05:29.367 回答
1

Use window.location.reload(true);

于 2012-08-03T05:06:34.640 回答
0

use this:

location.reload();

it should work. If it's not working you might have an error somewhere else in your page.

于 2012-08-03T05:07:18.680 回答
-1

This should do it..

window.location.reload();
于 2012-08-03T05:05:24.360 回答