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();
        })();
  • 相关阅读:
    input 去除边框
    分页封装
    python后端继承序列化,不同访问形式返回不同结果
    解决vue前端不显示自定义字段
    Vue 获取后端多对多关联表信息
    vue 前段增删改查代码规范
    前段增删改查的应用
    ant-design-vue基础
    python 后端 数据库的创表及增删改查 简单使用
    配置Uwsgi+Nginx+Django+Vue
  • 原文地址:https://www.cnblogs.com/tangpeng97/p/8023087.html
Copyright © 2011-2022 走看看