当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  Ajax程序中,自己实现页面前进、后退、与标签功能(asp.net2.0) 1

 Ajax程序中,自己实现页面前进、后退、与标签功能(asp.net2.0) 1

点击次数:18 次 发布日期:2008-11-26 11:40:24 作者:源代码网
源代码网推荐      第一次写博客,并且斗胆发表技术类文章,请大家不要见笑,有写的失败或雷同的地方请大家扔砖头敲我吧!
源代码网推荐   Ajax刚入门不久,便写了一个Ajax+C#的留言本程序,在实际写程序中,渐渐发现了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.length>1)
源代码网推荐  34 {
源代码网推荐  35 if(hashNO>0)
源代码网推荐  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";
源代码网推荐  50 }
源代码网推荐  51 }
源代码网推荐  52 }
源代码网推荐  53 //后退按钮onclick事件
源代码网推荐  54 function linkBack()
源代码网推荐  55 {
源代码网推荐  56 hashNO = hashNO - 1;
源代码网推荐  57 makeHistory(hashList[hashNO]);
源代码网推荐  58 //根据浏览器的hash,加载数据
源代码网推荐  59 urlCode();
源代码网推荐  60 checkLinkButton();
源代码网推荐  61 }
源代码网推荐  62 //前进按钮onclick事件
源代码网推荐  63 function linkNext()
源代码网推荐  64 {
源代码网推荐  65 hashNO = hashNO + 1;
源代码网推荐  66 makeHistory(hashList[hashNO]);
源代码网推荐  67 //根据浏览器的hash,加载数据
源代码网推荐  68 urlCode();
源代码网推荐  69 checkLinkButton();
源代码网推荐  70 }
源代码网推荐  
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华