我想弄清楚如何使用這個pushstate和popstate爲我的ajax應用程序。我知道有一些插件,但我正在嘗試學習如何以目前的原始形式使用它。我也知道,在原始形式,它不被IE支持。除此之外,我需要一些幫助來了解如何使用它。HTML 5 - Ajax popstate和pushstate
它的pushstate部分非常簡單。現在我有:
function loadForm(var1,var2){
string = "xyz="+var1+"&abc="+var2;
history.pushState("", "page 1", string);
}
這改變我的網址就好了,並將其添加到我的url堆棧。我有另一個功能,如下所示:
function loadForm2(var1,var2, var3){
string = "xyz="+var1+"&abc="+var2+"&123="+var3;
history.pushState("", "page 2", string);
}
第二個函數也會在調用時更改網址。現在,我有這部分我想弄清楚如何使用popstate。現在,我把它當作
window.popState = ajax;
function ajax(){
jQuery.ajax({
type: "get",
url: "../html_form.php",
data: string,
dataType: "html",
success: function(html){
jQuery('#Right_Content').hide().html(html).fadeIn('slow');
validate();
toolTip();
}
})
}
所以如果你能像我的網頁有兩個鏈接如下,一個調用loadForm功能和其他鏈接調用loadForm2功能。當我點擊每個鏈接時,表單通過ajax加載就好,網址也隨之改變。當我點擊後退按鈕時,網址將回滾到上一頁的網址,但頁面內容會重新加載當前表單而不是以前的表單。當我點擊後退按鈕時,它正在做一個ajax調用(firebug),就好像它試圖加載前一個窗體,而不是運行先前的ajax調用它運行當前的ajax調用。因此,我的網址可以追溯到前一個網址,但加載的表單或調用的ajax調用與最近的網頁加載(而不是上一頁加載)相同。
我不知道我在做什麼錯誤和任何幫助將不勝感激。
有沒有辦法讓我看看我的代碼應該是什麼樣子的例子。我想你明白我想要完成什麼。作爲一個新手,我不知道你的代碼意味着什麼。謝謝。 – user982853 2012-03-18 19:07:24
噢好吧,你好像是一個更高級的用戶。我現在將澄清我的答案。 – 2012-03-18 21:28:08
好的,我希望現在已經清楚了...... – 2012-03-18 21:57:39