我試圖找到有關歷史和/或散列的好文章(和全文),但無濟於事。我發現的所有內容都是關於圖書館的,但我想用我的手寫阿賈克斯的歷史。如何在javascript中使用ajax處理歷史記錄?
我所知道的,我會使用歷史api(即沒有數字(#)符號)。對於不支持歷史記錄api的瀏覽器的用戶,我將放置<head>
腳本,該腳本將重定向至:ex.com/adress1#/adress2至ex.com/adress2(此爲F5)。
你能幫我嗎?
我試圖找到有關歷史和/或散列的好文章(和全文),但無濟於事。我發現的所有內容都是關於圖書館的,但我想用我的手寫阿賈克斯的歷史。如何在javascript中使用ajax處理歷史記錄?
我所知道的,我會使用歷史api(即沒有數字(#)符號)。對於不支持歷史記錄api的瀏覽器的用戶,我將放置<head>
腳本,該腳本將重定向至:ex.com/adress1#/adress2至ex.com/adress2(此爲F5)。
你能幫我嗎?
您是否在尋找這種解決方案?
$(".link").click(function() {
window.location.hash = "param";
});
$(init);
function init() {
ajax_page_handler();
page_load($(window.location).attr("hash"));
}
function page_load($href) {
if ($href != undefined && $href.substring(0, 1) == '#') {
if ($href === "#param") {
// load the relevant data
}
$('html, body').animate({
scrollTop: 0
}, 'slow'); // bonus
}
}
function ajax_page_handler() {
$(window).bind('hashchange', function() {
$href = $(window.location).attr("hash");
page_load($href);
});
}
不需要。我想要一個沒有任何庫的本機解決方案。 – 2012-03-10 10:45:47
這不是歷史管理的圖書館。我只是使用jQuery。如果你不需要使用jQuery,你可以轉換爲純粹的JavaScript – 2012-03-10 10:48:39
我正在尋找本地解決方案,寫我的手..但無濟於事。 我對這段歷史的發佈有一些想法: #1。將一個onclick事件綁定到所有鏈接:'Ajax link'。 this - 閱讀'this.href'(但是..我也可以通過'event.target || event.srcElement'..dunno來讀取),事件 - 讀取,點擊鼠標按鈕(如果3 - 返回true(如果1 -
對於舊的瀏覽器,你可以使用這個庫:https://github.com/devote/HTML5-History-API它完全模擬了歷史舊的瀏覽器。它不需要編寫額外/不必要的代碼。
你到目前爲止嘗試過什麼(除了在這裏發佈這個問題)?你遇到了什麼困難? – 2012-03-10 10:28:14
你看過https://github.com/balupton/History.js嗎?它支持舊版瀏覽器的歷史api和哈希。 – ThiefMaster 2012-03-10 10:43:04
我不想使用庫!你讀過它嗎? 「我發現的所有內容都是關於圖書館的,但我想用我的手寫出我的阿賈克斯歷史。」 – 2012-03-10 10:44:57