亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

詳解AJAX頁面狀態保持思路

2024-09-01 08:30:22
字體:
來源:轉載
供稿:網友

在傳統的頁面中,瀏覽器通過URL訪問頁面。頁面內容由后臺服務生成,然后發送回瀏覽器進行呈現和顯示,本文是錯新技術頻道為大家介紹的詳解AJAX頁面狀態保持思路,一起來看看吧!

到AJAX流行的時候,很多信息為AJAX異步請求,比如:點擊、翻頁等。通常這種情況你一刷新瀏覽器,當前頁面就會重置到初始狀態。更不用說把看到的信息url發給好友了。

傳統的狀態保存在地址欄,如: www.abc.com/search?s=abc&id=23&page=3

如果通過這種方式的話,瀏覽器會刷新頁面,如果使用錨點的話則不會刷新瀏覽器。具體是點擊頁面去請求數據的同時會改變地址欄“#”后面的值。我們翻頁到第四頁

如: abc.com/search#s=abc&id=23&page=4

這樣還遠遠不夠,如果用戶點擊“前進”“后退”,頁面內容不會隨之改變。之前參照網上別人的做法,用一個定時器來解決的。

/** * URL Watcher(require jQuery) * 監測url的變化 * useage: * UrlWatcher.init(50); * UrlWatcher.AddListener(function(url,isFirstLoad){ *    FrontEngine.generateFront(); * }); * */var UrlWatcher = {  "init": function (waittime) {    this.UrlArray = [window.location.href];//set current url as default    this.ListenerArray = [];    this.ResetWaitTime(waittime);  },  "AddListener": function (listener) {//add a process function    this.ListenerArray.push(listener || function () {});  },  "DeleteListener": function () {    this.ListenerArray = [];  },  "ResetWaitTime": function (time) {//start timer    if (this.IntervalHandle) {window.clearInterval(this.IntervalHandle); }    this.WaitTime = time || 1000;    this.IntervalHandle = window.setInterval(this.ListenerCall.setThis(this), this.WaitTime);  },  "ListenerCall": function () {    var self = this, url = window.location.href;    if (self.UrlArray[self.UrlArray.length - 1] === url) {return; }    window.clearInterval(this.IntervalHandle);    $.each(this.ListenerArray, function (c, listener) {      listener(url, self.UrlArray.length === 0);    });    this.UrlArray.push(url);    this.ResetWaitTime(this.WaitTime);  }};

Gmail 中也用了狀態保持的東西,但是url是不會改變的。目前也有專門的Framework實現這種功能,比如 RSH 、 History Framework 。

之前我通過這種定時器的方法,解決了一些問題。但是,通過這種定時的方法不是實時觸發的,總會有一個延時,因為是定時去不停的檢測url中hash的變化。

說到hash,hash的變化在新的瀏覽器中是支持監測的。就是haschange 這個事件,在html5中有定義。目前,各瀏覽器對haschange的支持情況如下:

Gecko 1.9.2 (Firefox 3.6/Thunderbird 3.1/Fennec 1.0)

IE 8

WebKit 528+ (Safari/Google Chrome)

Opera 10.70

只要瀏覽器版本比以前大的,都是支持的。此外,ie8以ie7模式運行時,window下存在onhashchange這個方法,但是不會觸發這個事件??梢酝ㄟ^ 檢測IE的document.documentMode 這種方法來檢測。

if( ('onhashchange' in window) && ((typeof document.documentMode==='undefined') || document.documentMode==8)){   // 瀏覽器支持onhashchange事件   indow.onhashchange = hashChangeFire; // TODO,對應新的hash執行的操作函數} else {   // 不支持則用定時器檢測的辦法   setInterval(function() {     var ischanged = isHashChanged(); // TODO,檢測hash值或其中某一段是否更改的函數    if(ischanged){       hashChangeFire(); // TODO,對應新的hash執行的操作函數    }  },150);}

還是存在ie6/7以及ie8兼容模式下的兼容性問題:不能使用瀏覽器的前進后退按鈕保持追蹤,因為這些瀏覽器并不為錨點的改變創建歷史。

要解決這個問題,可以創建一個隱藏的iframe,通過改變iframe的hash控制ie的歷史記錄,如 《jQuery hashchange event》 。

以上這些是錯新技術頻道小編給大家介紹的詳解AJAX頁面狀態保持思路,相信我們在學習好這些知識之后,都能保障到網絡安全了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一级黄色片| 欧美性猛交xxxx乱大交3| 精品久久久中文| 精品久久久国产精品999| 亚洲欧美一区二区三区四区| 91网在线免费观看| 亚洲一区二区三区在线视频| 欧美激情网站在线观看| 91日韩在线视频| 亚洲缚视频在线观看| 亚洲小视频在线| 中文字幕欧美日韩精品| 福利一区福利二区微拍刺激| 欧美日韩国产精品一区二区不卡中文| 在线播放国产一区二区三区| 亚洲欧美精品在线| 久久国产精品久久久久久久久久| 亚洲人精选亚洲人成在线| 欧美成人第一页| 中文字幕亚洲字幕| 日韩在线视频中文字幕| 成人国产在线激情| 国内免费精品永久在线视频| 国产精品69久久久久| 久久久久久久久电影| 伊人久久精品视频| 成人免费自拍视频| 国产精品免费在线免费| 欧美亚洲国产精品| 亚洲最大激情中文字幕| 97在线看免费观看视频在线观看| 亚洲丝袜av一区| 日韩精品免费视频| 国产精品亚发布| 亚洲精品综合精品自拍| xxxx欧美18另类的高清| 欧美大荫蒂xxx| 欧美日韩亚洲天堂| 久久精品国产欧美激情| 国产乱肥老妇国产一区二| 青青久久av北条麻妃海外网| 青青久久av北条麻妃海外网| 国产午夜精品美女视频明星a级| 日韩精品高清在线| 最近中文字幕mv在线一区二区三区四区| 日韩成人在线视频网站| 久久成人精品一区二区三区| 欧美精品在线免费观看| 国产福利视频一区| 超碰日本道色综合久久综合| 亚洲xxxx3d| 国产精品久久999| 日韩精品视频免费在线观看| 久热在线中文字幕色999舞| 91精品国产亚洲| 国产欧美一区二区三区久久| 亚洲缚视频在线观看| 久久久久国色av免费观看性色| 91在线播放国产| 九九久久综合网站| 琪琪第一精品导航| 国产又爽又黄的激情精品视频| 日韩电影大全免费观看2023年上| 日韩成人激情在线| 亲爱的老师9免费观看全集电视剧| 久久亚洲综合国产精品99麻豆精品福利| 欧美午夜美女看片| 日韩av电影手机在线| 成人国内精品久久久久一区| 亚洲电影在线观看| 久久五月情影视| 国产在线观看一区二区三区| 日韩精品视频中文在线观看| 国产精品午夜一区二区欲梦| 992tv在线成人免费观看| 日韩精品欧美激情| 久久免费视频网站| 亚洲国产小视频在线观看| 欧美午夜性色大片在线观看| 久久精品国产欧美激情| 国产日韩精品在线| 亚洲国产一区自拍| 国产精品免费电影| 亚洲美女在线视频| 国产精品日韩久久久久| 欧美性开放视频| 国产精品久久在线观看| 欧美日韩亚洲激情| 一区二区中文字幕| 一区二区成人精品| 国产免费成人av| 欧美日韩亚洲一区二区三区| 美女扒开尿口让男人操亚洲视频网站| 国产国语刺激对白av不卡| 青青青国产精品一区二区| 国产成人在线亚洲欧美| 国产美女久久精品香蕉69| 日韩视频免费看| 69av视频在线播放| 国产日韩在线看| 欧美黄色性视频| 欧美高清一级大片| 久久亚洲一区二区三区四区五区高| 久久天天躁狠狠躁夜夜爽蜜月| 欧美国产日韩中文字幕在线| 久久久www成人免费精品| 欧美一级大胆视频| 成人av在线天堂| 国产男女猛烈无遮挡91| 日本道色综合久久影院| 亚洲免费精彩视频| 欧美极品少妇xxxxⅹ免费视频| 性欧美长视频免费观看不卡| 中日韩美女免费视频网站在线观看| 欧美激情一二区| 欧美伦理91i| 欧美日韩电影在线观看| 亚洲精品99久久久久中文字幕| 国产精品免费一区豆花| 国产精品久久久久久久久久久久| 久久久精品网站| 国产精品丝袜高跟| 亚洲国产精品成人精品| 国产日韩欧美综合| 久久人人97超碰精品888| 5566日本婷婷色中文字幕97| 亚洲人成网站免费播放| 欧美人在线视频| 日韩av电影院| 日韩大片免费观看视频播放| 亚洲欧美在线看| 日韩精品亚洲视频| 国产精品视频区1| 成人性生交大片免费看视频直播| 激情成人中文字幕| 91麻豆国产精品| 亚洲大胆人体在线| 久久久久久久久久国产精品| 久久久久久久久久久人体| 性欧美在线看片a免费观看| 九九热这里只有精品免费看| 一个人看的www欧美| 一个人看的www久久| 日韩精品免费在线观看| 日日噜噜噜夜夜爽亚洲精品| 福利一区视频在线观看| 美日韩精品免费视频| 自拍偷拍亚洲区| 日韩av在线网| 日韩经典中文字幕在线观看| 在线精品91av| 国产精品久久电影观看| 91sa在线看| 97免费视频在线| 国产精品69av| 欧美精品一区在线播放| 国产日韩在线免费| 91免费的视频在线播放| 日韩美女中文字幕| 久久中文字幕一区| 亚洲国产欧美在线成人app| 欧美成人免费大片| 国产va免费精品高清在线| 久久久精品在线|