2010-12-20 49 views

回答

7

調用reload method代替

location.reload(true) 
+0

+1 - 更新版本是好多了IE :) – 2010-12-20 13:32:44

+0

Thanx大衛的答覆,它的作品,但彈出窗口的確認?我想要的是:( – BreakHead 2010-12-20 13:51:23

2

要重新加載頁面,很好的解決方案是使用window.location.reload();

你說這個彈出確認?這可能是因爲您所在的頁面是通過發送POST數據來調用的。

如果你想讓POST數據再次發送,你沒有一個簡單的解決方案來避免這種確認(也許使用ajax你可以做到這一點....你會花很多時間這樣做) 。

如果您不想再次POST數據,那麼您不想重新加載頁面!你只想加載相同的URL。

問題是,如果你對瀏覽器說,加載這個URL,它什麼都不會做,因爲你說的URL已經被加載了(對於大多數瀏覽器,沒有URL改變 - >沒有頁面加載)!

解決此問題的簡單方法是調用相同的URL和隨機查詢字符串值。這樣你所調用的URL就是一個新的URL。

爲此一個非常簡單的方法:

這種解決方案
window.location.search += '&' + Math.random(); 

一個問題是,您的網址可以成爲雜亂....

根據您的需求和你的網址,你也許可以找到一種做出非常小的改變的方法,足以讓瀏覽器重新加載頁面。

+0

我編輯了你的答案,爲你的代碼片段添加格式。 – 2010-12-20 14:50:03

1

另一種簡單的解決方案提交空表單..現在測試了它的IE瀏覽器,FF和Chrome:

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

這種方式,您還可以讀取發佈數據從服務器返回並重新提交它不具有您提到的「確認」,如果相關,請告訴我們您正在使用的服務器端語言。