星期一, 4月 02, 2012

[AJAX] 解決AJAX呼叫後的上下頁按鈕問題


使用AJAX來存取資料後,常常會遇到上下頁沒有辦法記錄歷程。
以下是建議解決這個議題的各種套件。
最後選擇Asual address套件:
範例如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jQuery Address - Deep linking for the masses</title>
<script src="js/jquery-1.7.js"></script>
<script src="js/jquery.address-1.4.js"></script>
<script>

$(function(){
    
 $.address.change(function(event) {
     // do something depending on the event.value property, e.g.
     // $('#content').load(event.value + '.xml');
     console.log("address.change" + event.value);
 });
 
    $('a').click(function() {
     
     //record address
     var link = $(this).attr('href').replace(/^#/,'');;
     $.address.autoUpdate(false).value(link);
      
    });
});
</script>
</head>
<body>
<a href="#a" >a</a>
<a href="#b">b</a>
<a href="#c" >c</a>
</body>
</html>

此元件提供三種Callback Event,分別為change,externalChange,internalChange。
觀看你的使用情況,主要是externalChange可能你區別出是改變瀏覽器網址觸發的事件,非常好用,不過目前測試情況要多偵測出externalChange事件需要綁定每個link元素的click事件後加入

沒有留言:

張貼留言

留個話吧:)