Ajax程序中,自己实现页面前进、后退、与标签功能
Ajax程序中,自己实现页面前进、后退、与标签功能,Ajax程序中,自己实现页面前进、后退、与标签功能
我把实现功能的主要程序代码写在imitateHistory.js这个文件中
imitateHistory.js
1 //定义一个全局数组
2 var hashList = new Array();
3 //定义一个全局变量,用来作为hash的编号
4 var hashNO = 0;
5 //初始化数组,将初次装载的页面的hash添加进数组
6 hashList[0] = window.location.hash.replace(’#’,’’);
7 //将Hash填加到数组
8 function addHash(newHash)
9 {
10 //这个判断是检测是否在点击后退按钮后,再点击了新的链接
11 if(hashNO!=(hashList.length - 1))
12 {
13 //删除此页标识以后的数组项
14 hashList.splice(hashNO+1,(hashList.length-(hashNO+1)));
15 }
16 hashList[hashList.length] = newHash;
17 //指向本页hash的编号
18 hashNO = hashList.length - 1;
19 //将Hash赋值给浏览器
20 makeHistory(newHash);
21 //根据浏览器的hash,加载数据
22 urlCode();
23 checkLinkButton();
24 }
25 //将Hash赋值给浏览器
26 function makeHistory(newHash)
27 {
28 window.location.hash = newHash;
29 }
30 //检测导航按钮状态(按钮是否可用)
31 function checkLinkButton()
32 {
33 if(hashList.length1)
34 {
35 if(hashNO0)
36 {
37 document.getElementById(’Back’).disabled=’’;
38 }
39 else
40 {
41 document.getElementById(’Back’).disabled=’disabled’;
42 }
43 if(hashNO<(hashList.length-1))
44 {
45 document.getElementById(’Next’).disabled=’’;
46 }
47 else
48 {
49 document.getElementById(’Next’).disabled=’disabled’; [next]
50 }
51 }
52 }
53 //后退按钮onclick事件
54 function linkBack()
55 {
56 hashNO = hashNO - 1;
57 m