zoukankan      html  css  js  c++  java
  • 写了油猴搜题脚本

      1 // ==UserScript==
      2 // @name 学习通手动搜题
      3 // @description 可以手动输入关键词搜题,方便有效,关键字可以是开头的几个字,或者关键的几个词语.[tip:面板可以拖拽移动位置哦]
      4 // @namespace dyh
      5 // @version 0.0.0.1
      6 // @match *://*/work/doHomeWorkNew?*
      7 // @match *://*/exam/test/reVersionPaperPreview*
      8 // @match *://*/exam/test/reVersionTestStartNew*
      9 // @match *://*.zhihuishu.com/*
     10 // @require http://code.jquery.com/jquery-3.5.1.js
     11 // @grant GM_xmlhttpRequest
     12 // ==/UserScript==
     13 
     14 (function () {
     15     'use strict';
     16 
     17     $(".edui-editor").css("z-index","600");
     18 
     19     /*****************************绘制界面****************************************/
     20     $("body").append("<div id="dyh_searchbyhand" style="164px;position:fixed;top:100px;right:50px;border:1px coral dashed;z-index:999;box-sizing:content-box;"></div>");
     21     $("#dyh_searchbyhand").html("<form id="dyh_form"></form>");
     22     $("#dyh_form").html("<input id="dyh_text" type="text" placeholder="输入问题的关键字/回车" autocomplete="off" autofocus="true" style="160px;"><br>");
     23     $("#dyh_form").append("Question:<p id="dyh_Q" style="word-wrap: break-word;"></p>");
     24     $("#dyh_form").append("Answer:<p id="dyh_A" style="word-wrap: break-word;"></p>");
     25     movePanel("#dyh_searchbyhand");
     26 
     27     /******************************查询数据****************************************/
     28     $("#dyh_form").submit(function(){
     29         findAnswer();
     30         return false;
     31     });
     32 
     33     function decodeUnicode(str) {
     34         str = str.replace(/\/g, "%");
     35         return unescape(str);
     36     }
     37 
     38     function findAnswer() {
     39         var value = $("#dyh_text").val();
     40         GM_xmlhttpRequest({
     41             method: 'GET',
     42             url: "http://????????(不公开接口了)/chati?q=" + value,
     43             onload: function (res) {
     44                 var data = res.responseText;
     45                 console.log(data);
     46                 var question = data.match(/question"."(.+)?",/)[1];
     47                 var answer = data.match(/answer"."(.+)?"/)[1];
     48 
     49                 $("#dyh_text").val("");
     50                 $("#dyh_Q").text(decodeUnicode(question));
     51                 $("#dyh_A").text(decodeUnicode(answer));
     52             },
     53             onerror: function (err) {
     54                 alert("服务器连接失败");
     55             }
     56         });
     57     }
     58 
     59     function movePanel(obj,callback){
     60         var _evenObj=null;  // 触发事件的对象
     61         var _move=false;       // 移动标识
     62         var _x,_y;  //鼠标离控件左上角的相对位置
     63 
     64         $(obj).bind({
     65             mousedown:function(e){
     66                 _evenObj=e.currentTarget;            // 当前触发的作用对象
     67                 _move=true;
     68                 var cx=$(_evenObj).position().left; // 获取父类的X轴偏移量,如果相对屏幕的偏移量,请把position()改为offset();
     69                 var cy=$(_evenObj).position().top;  // 获取父类的Y轴偏移量 , 同上
     70                 _x=e.pageX-cx;
     71                 _y=e.pageY-cy;
     72             },
     73             mouseup:function(){
     74                 //判断方法是否存在
     75                 if (typeof callback != 'undefined' && callback instanceof Function) {
     76                     $ext=$.extend({},$(obj));         // 为obj对象扩展回调方法
     77                     $ext.addMethod=callback;
     78                     $ext.addMethod();
     79                 }
     80             }
     81         });
     82         $(document).bind({
     83             mousemove:function(e){
     84                 if(e.which==1){                         // 判断是否是左键按下
     85                     if(_evenObj!=null){             // 判断触发事件的对象是否为空
     86                         if(_move){
     87                             var x=e.pageX-_x;
     88                             var y=e.pageY-_y;
     89                             $(_evenObj).css({
     90                                 top:y,
     91                                 left:x
     92                             });
     93                         }
     94                     }
     95                 }
     96             },
     97             mouseup:function(){
     98                 _evenObj=null;
     99                 _move=false;
    100             }
    101         });
    102     }
    103 })();
    程序宅男
  • 相关阅读:
    10. Regular Expression Matching
    9. Palindrome Number (考虑负数的情况)
    8. String to Integer (整数的溢出)
    7. Reverse Integer (整数的溢出)
    LeetCode Minimum Size Subarray Sum
    LeetCode Course Schedule II
    Linux 文件缓存 (一)
    LeetCode Tries Prefix Tree
    Linux : lsof 命令
    LeetCode Binary Tree Right Side View
  • 原文地址:https://www.cnblogs.com/dreamcenter/p/13189480.html
Copyright © 2011-2022 走看看