pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

      <legend id='yPfI1'><style id='yPfI1'><dir id='yPfI1'><q id='yPfI1'></q></dir></style></legend>

    1. <small id='yPfI1'></small><noframes id='yPfI1'>

        <bdo id='yPfI1'></bdo><ul id='yPfI1'></ul>

    2. <i id='yPfI1'><tr id='yPfI1'><dt id='yPfI1'><q id='yPfI1'><span id='yPfI1'><b id='yPfI1'><form id='yPfI1'><ins id='yPfI1'></ins><ul id='yPfI1'></ul><sub id='yPfI1'></sub></form><legend id='yPfI1'></legend><bdo id='yPfI1'><pre id='yPfI1'><center id='yPfI1'></center></pre></bdo></b><th id='yPfI1'></th></span></q></dt></tr></i><div class="p1jbl5v" id='yPfI1'><tfoot id='yPfI1'></tfoot><dl id='yPfI1'><fieldset id='yPfI1'></fieldset></dl></div>

    3. <tfoot id='yPfI1'></tfoot>

      1. 重新創(chuàng)建 jQuery 的 ajaxStart 和 ajaxComplete 功能

        Recreating jQuery#39;s ajaxStart and ajaxComplete functionality(重新創(chuàng)建 jQuery 的 ajaxStart 和 ajaxComplete 功能)
        • <bdo id='XtBN5'></bdo><ul id='XtBN5'></ul>

          <tfoot id='XtBN5'></tfoot>

              <legend id='XtBN5'><style id='XtBN5'><dir id='XtBN5'><q id='XtBN5'></q></dir></style></legend>

              <small id='XtBN5'></small><noframes id='XtBN5'>

                    <tbody id='XtBN5'></tbody>
                1. <i id='XtBN5'><tr id='XtBN5'><dt id='XtBN5'><q id='XtBN5'><span id='XtBN5'><b id='XtBN5'><form id='XtBN5'><ins id='XtBN5'></ins><ul id='XtBN5'></ul><sub id='XtBN5'></sub></form><legend id='XtBN5'></legend><bdo id='XtBN5'><pre id='XtBN5'><center id='XtBN5'></center></pre></bdo></b><th id='XtBN5'></th></span></q></dt></tr></i><div class="nf3tz5j" id='XtBN5'><tfoot id='XtBN5'></tfoot><dl id='XtBN5'><fieldset id='XtBN5'></fieldset></dl></div>
                  本文介紹了重新創(chuàng)建 jQuery 的 ajaxStart 和 ajaxComplete 功能的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

                  問(wèn)題描述

                  我正在嘗試重現(xiàn) jQuery 的函數(shù) ajaxComplete 和 ajaxStart 沒(méi)有 jQuery,因此它們可以在沒(méi)有庫(kù)依賴的任何環(huán)境中使用(這是一個(gè)特殊的用例).這些函數(shù)允許在任何 ajax 請(qǐng)求之前和之后調(diào)用事件偵聽(tīng)器.在我的示例中,我稱它們?yōu)?preAjaxListener 和 postAjaxListener.

                  I'm trying to reproduce jQuery's functions ajaxComplete and ajaxStart without jQuery so that they could be used in any environment with no library dependencies (it's a special use case). These functions allow for an event listener to be called before and after any ajax request. In my example, I call them preAjaxListener and postAjaxListener.

                  我試圖通過(guò)連接到 XMLHttpRequest 對(duì)象并覆蓋/裝飾 opensend 來(lái)完成它.是的,我知道這很臟.

                  I'm trying to accomplish it by hooking into the XMLHttpRequest object and overwriting/decorating open and send. Yes, I know this is dirty.

                  XMLHttpRequest.prototype.open = (function(orig){
                      return function(a,b,c){
                          this._HREF = b; // store target url
                          return orig.apply(this, arguments); // call original 'open' function
                      };
                  })(XMLHttpRequest.prototype.open);
                  
                  XMLHttpRequest.prototype.send = (function(orig){
                      return function(){
                          var xhr = this;
                          _core._fireAjaxEvents('pre', xhr._HREF); // preAjaxListener fires
                  
                          var rsc = xhr.onreadystatechange || function(){}; // store the original onreadystatechange if it exists
                          xhr.onreadystatechange = function(){ // overwrite with custom function
                              try {
                                  if (xhr.readyState == 4){
                                      _core._fireAjaxEvents('post', xhr._HREF); // postAjaxListneer should fire
                                      this.onreadystatechange = rsc;
                                  } 
                              } catch (e){ }
                              return rsc.apply(this, arguments); // call original readystatechange function
                          };
                  
                          return orig.apply(this, arguments); // call original 'send' function
                      };
                  })(XMLHttpRequest.prototype.send);
                  

                  我不想編寫(xiě)包裝函數(shù)來(lái)發(fā)出 ajax 請(qǐng)求.我希望能夠掛鉤頁(yè)面上任何庫(kù)(或使用 vanilla js)發(fā)出的任何 ajax 請(qǐng)求.

                  I do not want to write wrapper functions to make ajax requests. I want to be able to hook into any ajax request made by any library (or with vanilla js) on the page.

                  到目前為止,只有 preAjaxListener 函數(shù)有效.我似乎無(wú)法弄清楚為什么,但似乎 onreadystatechange 從未被調(diào)用過(guò).任何指導(dǎo)將不勝感激.

                  So far, only the preAjaxListener function works. I can't seem to figure out why, but it seems that onreadystatechange is never being called. Any guidance would be greatly appreciated.

                  工作演示:http://jsfiddle.net/_nderscore/QTQ5s/

                  推薦答案

                  使用 .onreadystatechange 不起作用,因?yàn)槲艺谑褂?jQuery 進(jìn)行測(cè)試,并且 jQuery 的 ajax 方法操作并刪除了 onreadystatechange屬性.

                  Using .onreadystatechange wasn't working because I was testing with jQuery and jQuery's ajax methods manipulate and removes the onreadystatechange property.

                  但是,為 loadend 添加事件偵聽(tīng)器在除 IE 之外的任何地方都可以正常工作.對(duì)于 IE,我設(shè)置了一個(gè)間隔 - 不是最佳解決方案,但它可以滿足我的需要.我只打算讓這個(gè)腳本在 IE8+ 和現(xiàn)代瀏覽器上運(yùn)行.

                  However, adding an event listener for loadend works just fine everywhere but IE. For IE, I set up an interval instead - not the optimal solution, but it works for my needs. I only intended this script to work on IE8+ and modern browsers.

                  XMLHttpRequest.prototype.send = (function(orig){
                      return function(){
                          _core._fireAjaxEvents('pre', this._HREF);
                  
                          if (!/MSIE/.test(navigator.userAgent)){
                              this.addEventListener("loadend", function(){
                                  _core._fireAjaxEvents('post', this._HREF);
                              }, false);
                          } else {
                              var xhr = this,
                              waiter = setInterval(function(){
                                  if(xhr.readyState && xhr.readyState == 4){
                                      _core._fireAjaxEvents('post', xhr._HREF);
                                      clearInterval(waiter);
                                  }
                              }, 50);
                          }
                  
                          return orig.apply(this, arguments);
                      };
                  })(XMLHttpRequest.prototype.send);
                  

                  這篇關(guān)于重新創(chuàng)建 jQuery 的 ajaxStart 和 ajaxComplete 功能的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                  【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

                  相關(guān)文檔推薦

                  Browser waits for ajax call to complete even after abort has been called (jQuery)(即使在調(diào)用 abort (jQuery) 之后,瀏覽器也會(huì)等待 ajax 調(diào)用完成)
                  JavaScript innerHTML is not working for IE?(JavaScript innerHTML 不適用于 IE?)
                  XMLHttpRequest cannot load, No #39;Access-Control-Allow-Origin#39; header is present on the requested resource(XMLHttpRequest 無(wú)法加載,請(qǐng)求的資源上不存在“Access-Control-Allow-Origin標(biāo)頭) - IT屋-程序員軟件開(kāi)發(fā)技術(shù)分
                  Is it possible for XHR HEAD requests to not follow redirects (301 302)(XHR HEAD 請(qǐng)求是否有可能不遵循重定向 (301 302))
                  NETWORK_ERROR: XMLHttpRequest Exception 101(NETWORK_ERROR:XMLHttpRequest 異常 101)
                  XMLHttpRequest 206 Partial Content(XMLHttpRequest 206 部分內(nèi)容)

                  <small id='Aa2aI'></small><noframes id='Aa2aI'>

                  <legend id='Aa2aI'><style id='Aa2aI'><dir id='Aa2aI'><q id='Aa2aI'></q></dir></style></legend>

                    <bdo id='Aa2aI'></bdo><ul id='Aa2aI'></ul>

                          <tbody id='Aa2aI'></tbody>
                        <tfoot id='Aa2aI'></tfoot>

                            <i id='Aa2aI'><tr id='Aa2aI'><dt id='Aa2aI'><q id='Aa2aI'><span id='Aa2aI'><b id='Aa2aI'><form id='Aa2aI'><ins id='Aa2aI'></ins><ul id='Aa2aI'></ul><sub id='Aa2aI'></sub></form><legend id='Aa2aI'></legend><bdo id='Aa2aI'><pre id='Aa2aI'><center id='Aa2aI'></center></pre></bdo></b><th id='Aa2aI'></th></span></q></dt></tr></i><div class="pvvf9bz" id='Aa2aI'><tfoot id='Aa2aI'></tfoot><dl id='Aa2aI'><fieldset id='Aa2aI'></fieldset></dl></div>
                            主站蜘蛛池模板: 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 武汉创亿电气设备有限公司_电力检测设备生产厂家 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 昆山新莱洁净应用材料股份有限公司-卫生级蝶阀,无菌取样阀,不锈钢隔膜阀,换向阀,离心泵 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 建大仁科-温湿度变送器|温湿度传感器|温湿度记录仪_厂家_价格-山东仁科 | 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 活性氧化铝|无烟煤滤料|活性氧化铝厂家|锰砂滤料厂家-河南新泰净水材料有限公司 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 | 大白菜官网,大白菜winpe,大白菜U盘装系统, u盘启动盘制作工具 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 低温等离子清洗机(双气路进口)-嘉润万丰 | 土壤检测仪器_行星式球磨仪_土壤团粒分析仪厂家_山东莱恩德智能科技有限公司 | 众品地板网-地板品牌招商_地板装修设计_地板门户的首选网络媒体。 | 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 仿古建筑设计-仿古建筑施工-仿古建筑公司-汉匠古建筑设计院 | 螺旋压榨机-刮泥机-潜水搅拌机-电动泥斗-潜水推流器-南京格林兰环保设备有限公司 | 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 西门子代理商_西门子变频器总代理-翰粤百科 | 无线遥控更衣吊篮_IC卡更衣吊篮_电动更衣吊篮配件_煤矿更衣吊篮-力得电子 | 德州万泰装饰 - 万泰装饰装修设计软装家居馆| 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 风化石头制砂机_方解石制砂机_瓷砖石子制砂机_华盛铭厂家 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 最新电影-好看的电视剧大全-朝夕电影网 | 船用泵,船用离心泵,船用喷射泵,泰州隆华船舶设备有限公司 | 光伏支架成型设备-光伏钢边框设备-光伏设备厂家 |