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

首頁 > 語言 > JavaScript > 正文

document.onreadystatechange事件的用法分析

2024-05-06 16:13:42
字體:
來源:轉載
供稿:網友
這兩天,正在給部門的一個項目做優化,其中一項是將web應用中的所有alert用div方式實現,javascript的相關方法都寫好了,方法名為showDialog,前臺頁面調用showDialog方法一點也沒有問題,可是頁面一旦提交,從后臺輸出腳本,調用showDialog方法,就會時不時的出現問題了,報一個無法打開Internet站點的錯誤,在腳本中下斷點調試,依然找不到問題的根源,最后到網上一查,這個問題有可能是頁面沒有完全加載造成的,于是乎,修改后臺輸出腳本的代碼,將其改為 
document.onreadystatechange=function() { if(document.readyState == 'complete'){ showDialog('來自網頁的消息','用戶名或密碼錯誤,請重新輸入!','warning'); } }; 
問題解決,一切OK! 
復制代碼代碼如下:

document.onreadystatechange = subSomething;//當頁面加載狀態改變的時候執行這個方法. 
function subSomething() 

if(document.readyState == "complete"){ //當頁面加載狀態為完全結束時進入 
//你要做的操作。 


說明 :onreadystatechange 事件能辨識readyState 屬性的改變。 
關于onreadystatechange屬性的一點疑問 
在編寫Ajax方法的時候,我們經常會寫上類似于這樣的代碼: 
復制代碼代碼如下:

<script type="text/javascript"> 
var xmlHttp; 
//創建一個XmlHttpRequeset對象 
function createXMLHttpRequest()...{ 
if(window.ActiveXObject)...{ 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 

else if(window.XMLHttpRequest)...{ 
xmlHttp = new XMLHttpRequest(); 


//開始一個請求 
function startRequest()...{ 
createXMLHttpRequest(); 
xmlHttp.onreadystatechange = handlestatechange; 
xmlHttp.open("GET", "SimpleRespose.xml", true); 
xmlHttp.Send(null); 

function handlestatechange()...{ 
if(xmlHttp.readyState == 4)...{//描述一種"已加載"狀態;此時,響應已經被完全接收。 
if(xmlHttp.status == 200)...{//200表示成功收到 
alert("The Server Replied with:" + xmlHttp.responseText) 



</script> 

第一次閱讀這段代碼的時候,我就感到了一點點不對勁,但是說不出來什么地方不對勁。隨著對Ajax代碼的進一步了解,這種感覺時刻伴隨著我。 
后來,我知道了這種感覺來自于什么地方。 
看看startRequest函數。我們發現xmlHttp.onreadystatechange指向了一個函數,這個函數是在xmlHttpRequest.readyState發生改變的時候觸發。我們再來看startRequest函數,想象一下整個請求發送的步驟?,F在我們點擊一個按鈕,觸發了一個startRequest函數。函數往下走,第一步是createXmlHttpRequest(),它的作用是創建一個xmlHttpRequest對象,當它完畢的時候,xmlHttpRequest.readyState的值是0(window.alert跟蹤得到的),程序繼續往下走,xmlHttp.onreadystatechange = handlestatechange,因為狀態沒有改變(xmlHttpRequest.readyState的值是0),所以不觸發函數,緊接著是Open()和Send(),那么,整個函數從頭到尾都應該沒有觸發handlestatechange函數啊,但是為什么出來的結果是正確的呢? 
后來我用window.alert跟蹤xmlHttp.readystate的變化,發現于原來它運行的機制是這樣的。首先創建一個xmlHttpRequest的對象之后xmlHttp.readyState的值是0了,然后xmlHttp.onreadystatechange = handlestatechange沒有運行。緊接著是open(),這個函數發生了之后xmlHttp.readyState的值是1了,那么就會有一個斷點在Open()函數處斷開,保留現場,緊接著又返回到xmlHttp.onreadystatechange = handlestatechange運行,然后再執行Send()函數,這個函數發生了之后xmlHttp.readyState的值是2了,接著又返回到xmlHttp.onreadystatechange = handlestatechange運行。以此類推。 
瀏覽器因為不能真正地像面向對象那么編程,所以找了個折衷的辦法,但是這個辦法看起來不倫不類,想了半天,再跟一個同學一起討論,才得出這樣的一個結果。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲a在线观看| 91在线视频一区| 国产日韩av在线播放| 欧美日韩国产色| 久久久精品国产一区二区| 国产一区二区三区四区福利| 日韩av在线一区二区| 日韩视频―中文字幕| 人体精品一二三区| 欧美国产高跟鞋裸体秀xxxhd| 成人免费自拍视频| 精品视频一区在线视频| 久久久久久久久久久免费精品| 欧美大成色www永久网站婷| 亚洲成人黄色在线| 91精品中文在线| 美女视频久久黄| 久久久久久久999精品视频| 国产精品成人在线| 久久久久久网站| 国产999在线观看| 岛国av一区二区| 欧美综合第一页| 国产欧美日韩中文| 欧美片一区二区三区| 国产一区二区三区在线免费观看| 国产原创欧美精品| 精品国产一区二区三区久久狼5月| 2020国产精品视频| 这里只有精品视频在线| 亚洲精品www久久久| 日本sm极度另类视频| 国产亚洲欧洲高清一区| 久久97久久97精品免视看| 韩国美女主播一区| 成人性生交大片免费观看嘿嘿视频| 一区二区成人精品| www国产精品com| 欧美激情视频给我| 亚洲小视频在线| 亚洲国产精品嫩草影院久久| 亚洲免费av片| 成人女保姆的销魂服务| 91色视频在线观看| 久久香蕉频线观| www.国产一区| 久久这里只有精品99| 国产精品视频久久久| 欧美综合激情网| 亚洲精品ady| 久久69精品久久久久久国产越南| 国语自产精品视频在线看一大j8| 日韩av在线天堂网| 日韩中文视频免费在线观看| 亚洲美女免费精品视频在线观看| 国产精品成人一区| 欧美性极品xxxx做受| 久久影视电视剧凤归四时歌| 久久久久久久久国产精品| 成人黄色在线播放| 亚洲视频国产视频| 日韩电影在线观看中文字幕| 国产精品久久一区主播| 中文字幕精品一区久久久久| 成人黄色免费在线观看| 精品少妇一区二区30p| 日本aⅴ大伊香蕉精品视频| 亚洲欧洲自拍偷拍| 精品视频偷偷看在线观看| 91精品国产99| 色偷偷av一区二区三区乱| 韩国三级日本三级少妇99| 黄色一区二区在线观看| 欧美寡妇偷汉性猛交| 日韩av日韩在线观看| 中文日韩在线观看| 深夜精品寂寞黄网站在线观看| 国产精品久久久久久久久久久新郎| 成人性教育视频在线观看| 国产精品国产亚洲伊人久久| 亚洲国产精品va在线观看黑人| 91沈先生在线观看| 久久久久久久91| 亚洲一区二区三区在线视频| 亚洲精品wwww| 午夜精品蜜臀一区二区三区免费| 久久99久久99精品中文字幕| 国产精品wwww| 亚洲人成在线一二| 日韩欧亚中文在线| 国内免费久久久久久久久久久| 日韩在线播放一区| 中文字幕在线日韩| 欧美日韩免费在线观看| 97在线观看视频国产| 久久久久久一区二区三区| 国产91露脸中文字幕在线| 国语自产精品视频在线看一大j8| 欧美日韩中国免费专区在线看| 亚洲xxxx妇黄裸体| 91成人国产在线观看| 亚洲男人天堂2024| 高清视频欧美一级| 亚洲另类欧美自拍| 日韩精品视频中文在线观看| 国产午夜精品理论片a级探花| 视频直播国产精品| 欧美在线视频网站| 国产精品十八以下禁看| 国产成人一区二| 亚洲综合视频1区| 国产欧美婷婷中文| 亚洲在线免费观看| 国产一区玩具在线观看| 国产精品电影久久久久电影网| 久久久久久久国产| 日韩欧美亚洲综合| 国产成人在线亚洲欧美| 欧美极品在线视频| 欧美乱大交xxxxx另类电影| 亚洲电影免费观看高清完整版在线观看| 国内精品久久久久久中文字幕| 91久久精品国产91久久性色| 国产精品美女无圣光视频| 亚洲成色999久久网站| 高清一区二区三区四区五区| 91久久精品久久国产性色也91| 欧美美女15p| 国产精品美女久久久久av超清| 成人在线精品视频| 亚洲成人激情在线观看| 综合国产在线视频| 亚洲精品一区二区在线| 久久精品亚洲一区| 欧美日韩日本国产| 欧美成人中文字幕| 久久av红桃一区二区小说| 日韩精品一区二区三区第95| 最新国产成人av网站网址麻豆| 国产成人精品免费久久久久| 欧美电影免费观看高清完整| 国产z一区二区三区| 大胆人体色综合| 久久久精品久久久久| 国产欧美精品一区二区三区-老狼| 欧美午夜电影在线| 亚洲欧美日韩在线高清直播| 国产亚洲精品综合一区91| 国产成人精品日本亚洲专区61| 国产精品88a∨| 91久久久久久| 91po在线观看91精品国产性色| 欧美性20hd另类| 亚洲欧美另类自拍| 岛国av午夜精品| xxxxx成人.com| 国产精品第七影院| 亚洲人成网站777色婷婷| 国产精品高潮呻吟久久av无限| 中文字幕精品www乱入免费视频| 亚洲天堂久久av| 综合网日日天干夜夜久久| 欧美猛交免费看| 亚洲欧洲在线免费|