写了油猴搜题脚本

  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=\"width: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=\"width: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 })();

 

posted @ 2020-06-24 19:51  时光潜流  阅读(1439)  评论(0编辑  收藏  举报