3
使用hashchange事件我在檢測用戶何時單擊瀏覽器中的後退按鈕並相應地更改URL。有沒有更好的方法來做到這一點分頁?目前,我正在改變URL用戶點擊我的分頁控制後,像這樣:有沒有更好的方法跟蹤分頁與標籤?
$(".pager").click(function(){
var start = null;
if ($.browser.msie) {
start = $(this).attr('href').slice($(this).attr('href').indexOf('#')+1);
}
else {
start = $(this).attr('href').substr(1);
}
$('#start').val(start);
$.post("visits_results.php", $("#profile_form_id").serialize(),
function(data) {
$('#search_results').html(data);
location.href = "#visits=" + start;
});
return false;
});
我的JavaScript來檢測後退按鈕看起來是這樣的:
function myHashChangeCallback(hash) {
if (hash == "") {
$("#loadImage").show();
var no_cache = new Date().getTime();
$('#main').load("home.php?cache=" + no_cache, function() {
$("#loadImage").hide();
});
return false;
}
else {
// adding code to parse the hash URL and see what page I'm on...is there a better way?;
}
}
function hashCheck() {
var hash = window.location.hash;
if (hash != _hash) {
_hash = hash;
myHashChangeCallback(hash);
}
}
我目前打算檢查每個主題標籤和除非有更好的更有效的方法,否則應該加載哪個頁面的值。
任何想法或建議?
我看了這一點,但它似乎有點難以實施。我擔心我需要替換當前的所有JavaScript代碼......但我可能不得不這樣做。 – Paul
實際上,該網站上的示例非常可怕。查看[本頁]上的源代碼(http://www.asual.com/jquery/address/samples/state/)。你只需要調用三種方法。我會用一個例子更新我的答案。 – Roshambo
非常感謝這些例子,我會試試看。 – Paul