我正在通過Ajax加載頁面。當用戶單擊鏈接時,頁面正在成功加載AJAX,但是當用戶單擊後退按鈕時,頁面將重新加載初始頁面。所以情景是這樣的。歷史API和History.js後退按鈕問題
- 負載初始頁面(的index.php)鏈路
- 頁面加載成功
- 點擊返回按鈕
- 初始頁現在被顯示兩次上
- 用戶點擊。
這是標記。
$(function() {
// Prepare
var History = window.History; // Note: We are using a capital H instead of a lower h
if (!History.enabled) {
// History.js is disabled for this browser.
// This is because we can optionally choose to support HTML4 browsers or not.
return false;
}
// Bind to StateChange Event
History.Adapter.bind(window, 'statechange', function() { // Note: We are using statechange instead of popstate
var State = History.getState();
$('#content').load(State.url);
});
$('a').click(function(evt) {
evt.preventDefault();
History.pushState(null, $(this).text(), $(this).attr('href'));
alert(State.url)
});
});
這是標記
<div id="wrap">
<a href="page1.html">Page 1</a>
</div>
<div id="content">
<p>Content within this box is replaced with content from
supporting pages using javascript and AJAX.</p>
</div>
如果你還沒有得到我的問題或情況
下面是完整的方案。 初始頁面
當用戶點擊成功選定頁面加載的鏈接
當我點擊後退按鈕的初始頁面現在增加一倍
就像你可以看到「Page1」鏈接翻了一番。這是瀏覽器問題嗎?或者我對歷史api的描述是缺乏或缺失的?這有什麼可能的解決方案?
這是你的錯誤!當您返回時,您正在加載「
」內的整個頁面。 –