2009-03-01 150 views
4

我需要使用AJAX時頁面刷新和後退按鈕的解決方案。後退按鈕和使用AJAX刷新

我使用簡單的JavaScript爲AJAX實現。

如果有人可以發送代碼段,我將非常感激。

回答

1

基本上,你需要使用&監測URL的哈希部分...

http://.../path?parms#hashpart 

煥你改變了哈希,IIRC window.location.hash,也不會重新加載頁面,但你的ajax可以監視並響應它。

5

如果您使用jQuery,則有the history plugin

+0

不錯的答案,是否有可能做到這一點沒有jQuery的? – praveenjayapal 2009-03-02 13:06:45

+0

任何可以用jQuery實現的東西都是可能的,通過查看插件的源代碼,你可以弄清楚他們使用什麼技術來做到這一點。 – 2009-03-02 16:10:21

2

我正在爲此工作,請參閱我的question,該鏈接位於'更新'文本中。

0

onbeforeunload事件可以用來防止刷新,但是如果您導航或刷新,它會觸發。如果您需要用戶登錄到應用程序,您可以始終顯示一條通知消息,建議不要導航和刷新。如果用戶點擊你的應用程序註銷按鈕,設置一個var來禁用警告。也可能會做一個'關閉'按鈕,做同樣的事情。

2

這裏有一個解決方案,在我的一些頁面中使用了。將此添加到發生更改的頁面。

window.onbeforeunload = function() { 
    window.name = "reloader"; 
     } 

這會在您離開這些頁面時觸發。如果有更改,您也可以觸發它。這樣它就不會不必要地重新加載需要重新加載的頁面。 然後在你想在瀏覽器「返回」使用後重新加載的頁面上。

if (window.name == "reloader") 
     { 
     window.name = "no"; 
     reloadPage(); 
     } 

這將觸發你需要重新加載頁面上重載... 希望這有助於:) 哦,順便說一句,這是在JS。

0

嘗試PathJS它不需要jQuery或任何其他附加庫。