zoukankan      html  css  js  c++  java
  • JavaScript 通过文本内容查找请求

     (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();
        })();
  • 相关阅读:
    c#关闭excel进程失败的解决方法
    [数据库SQL实战] 基本语法记录
    [牛客数据库SQL实战] 51~61题及个人解答
    [牛客数据库SQL实战] 41~50题及个人解答
    [牛客数据库SQL实战] 31~40题及个人解答
    [牛客数据库SQL实战] 21~30题及个人解答
    [牛客数据库SQL实战] 11~20题及个人解答
    [牛客数据库SQL实战] 1~10题及个人解答
    [牛客数据库SQL实战] 准备篇
    我在博客园安家了
  • 原文地址:https://www.cnblogs.com/tangpeng97/p/8023087.html
Copyright © 2011-2022 走看看