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 })();
    程序宅男
  • 相关阅读:
    libcurl库进行http通讯-开篇
    hdu4059The Boss on Mars 容斥原理
    “最大子序列和”算法 java
    Android 的事件传递机制,详解
    POJ
    hdu 5652 India and China Origins
    解决Swap file &quot;.ceshi.c.swp&quot; already exists!问题
    3DMax脚本插件--改动材质&amp;贴图名称
    ASP.NET MVC+Bootstrap 实现短信验证
    [从头学数学] 第176节 概率
  • 原文地址:https://www.cnblogs.com/dreamcenter/p/13189480.html
Copyright © 2011-2022 走看看