码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 通过文本内容查找请求

时间:2017-12-11 16:14:20      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:fun   监听   nbsp   creat   length   prototype   error   ajax   false   

 (function () {
      var common = (function () {
        var arr = [];
        var getAllResponse = function () {
          common.AjaxListen(function (e) {
            var data = e.detail;
            if (data.readyState == 4) {// 4 = "loaded"
              if (data.status == 200) {// 200 = OK
                var content = data.responseText;
                var url = data.responseURL;
                arr.push({
                  url: url,
                  content: content
                });
              }
            }
          });
        },
          serach = function (compare) {
            for (var i = 0; i < arr.length; i++) {
              var content = arr[i].content;
              var isbool = content.indexOf(compare);
              if (isbool > -1) {
                console.log(arr[i].url);
              }
            }
          },
          KeyboardListen = function () {
            window.addEventListener("keydown", function (e) {
              if (e.which == 33) {
                var compare = prompt();
                common.serach(compare);
              }
            }, false);
          },
          AjaxListen = function (callback) {
            ; (function () {
              if (typeof window.CustomEvent === "function") return false;

              function CustomEvent(event, params) {
                params = params || { bubbles: false, cancelable: false, detail: undefined };
                var evt = document.createEvent(CustomEvent);
                evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
                return evt;
              }

              CustomEvent.prototype = window.Event.prototype;

              window.CustomEvent = CustomEvent;
            })();
            ; (function () {
              function ajaxEventTrigger(event) {
                var ajaxEvent = new CustomEvent(event, { detail: this });
                window.dispatchEvent(ajaxEvent);
              }

              var oldXHR = window.XMLHttpRequest;

              function newXHR() {
                var realXHR = new oldXHR();

                realXHR.addEventListener(abort, function () { ajaxEventTrigger.call(this, ajaxAbort); }, false);

                realXHR.addEventListener(error, function () { ajaxEventTrigger.call(this, ajaxError); }, false);

                realXHR.addEventListener(load, function () { ajaxEventTrigger.call(this, ajaxLoad); }, false);

                realXHR.addEventListener(loadstart, function () { ajaxEventTrigger.call(this, ajaxLoadStart); }, false);

                realXHR.addEventListener(progress, function () { ajaxEventTrigger.call(this, ajaxProgress); }, false);

                realXHR.addEventListener(timeout, function () { ajaxEventTrigger.call(this, ajaxTimeout); }, false);

                realXHR.addEventListener(loadend, function () { ajaxEventTrigger.call(this, ajaxLoadEnd); }, false);

                realXHR.addEventListener(readystatechange, function () { ajaxEventTrigger.call(this, ajaxReadyStateChange); }, false);

                return realXHR;
              }

              window.XMLHttpRequest = newXHR;
            })();
            window.addEventListener(ajaxReadyStateChange, callback);
          };
        return {
          getAllResponse: getAllResponse,
          serach: serach,
          KeyboardListen: KeyboardListen,
          AjaxListen: AjaxListen
        };
      })();
      //获取指定URL数据源
      common.getAllResponse();
      //监听PgUp按下事件
      common.KeyboardListen();
    })();

 

JavaScript 通过文本内容查找请求

标签:fun   监听   nbsp   creat   length   prototype   error   ajax   false   

原文地址:http://www.cnblogs.com/tangpeng97/p/8023087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!