1 var config;//设置

2 var auto_all_ans=0;//全自动答题标志

3

4 $(function() {5

6 //加载设置

7 //config = {'set':{'save_login': 1, 'sign_ans': 1, 'auto_ans': 0}, 'login_info':{}, 'active':''}; // 默认配置

8

9 //打开活动页面

10 $('#open_page').click(function()11 {12 chrome.tabs.create({url: 'http://xxjs.dtdjzx.gov.cn/index.html'});13 })14 //打开登陆页面

15 $('#open_login_page').click(function()16 {17 getCurrentTabId(tabId =>{18 chrome.tabs.update(tabId, {url: 'https://sso.dtdjzx.gov.cn/sso/login'});19 });20 })21 //清除登录信息

22 $('#open_logout_page').click(function()23 {24 sendMessageToContentScript(25 {'cmd':'logout','data':{}},26 //回调函数

27 function(response){if(response) {}}28 );29 //删除active类

30 $('.active').removeClass('active');31 })32

33 //显示、隐藏设置区域

34 $('#hide_config').click(function(){35 $('#hide_config').hide();36 $('#show_config').show();37 $('#config').hide(500);38 })39 $('#show_config').click(function(){40 $('#show_config').hide();41 $('#hide_config').show();42 $('#config').show(500);43 })44

45

46 //手动更新

47 $('#update').click(function(){48 $(this).html('更新中...');49 $(this).css('pointer-events','none');50

51 var xhr = newXMLHttpRequest();52 xhr.open("GET", "http://mydomain/dengta/update.php?v="+config['set']['date_version'], true);53 xhr.onreadystatechange = function() {54 if (xhr.readyState == 4) {55 //JSON解析器不会执行攻击者设计的脚本.

56 //var resp = JSON.parse(xhr.responseText);

57 //console.log(resp);

58 if(resp=xhr.responseText)59 {60 //console.log(resp);

61

62 //清空原有扩展题库

63 sendMessageToContentScript({'cmd':'del_new_ques'}),64

65 //第一行是最新的版本号,并保存设置

66 setTimeout(()=>{67 config['set']['date_version']=resp.match(/(\/\/)(\S*)/)[2];68 console.log(config);69 save_set();70 },1000);71

72

73 //通过update函数向content更新补充题库

74 setTimeout(()=>{update(xhr.responseText);},2000);75

76 //弹出提醒

77 //alert('已更新数据至'+config['set']['date_version'])

78 }79 else

80 {81 alert('已是最新版本')82 }83 }84 }85 xhr.send();86

87 setTimeout(()=>{$(this).html('已更新'+config['set']['date_version']);},2000);88 })89

90 //切换上一人、下一人功能

91 $('#prev_one').click(function(){92 $('#login_info_conf .active').prev().find('.login_info_change').click();93 });94 $('#next_one').click(()=>{95 $('#login_info_conf .active').next().find('.login_info_change').click();96 })97

98 //导入导出功能

99 $('#input_login_info').click(()=>{100

101 var new_login_info=$('#input_login_info_box').val();102 //测试是否有效

103 try

104 {105 new_login_info=JSON.parse(new_login_info);106 }107 catch(err)108 {109 txt="您输入的字符串有误,请重新查证。";110 alert(txt);111 }112 //成功转化的字符串

113 //console.log(new_login_info);

114 if(typeof new_login_info === 'object')115 {116 console.log(new_login_info);117 $.extend(config['login_info'],new_login_info);118 //向content_script报告新加入的用户

119 sendMessageToContentScript(120 {'cmd':'add','data':new_login_info},121 //回调函数

122 function(response){if(response) {123 }}124 );125 alert('导入完成');126 }127 });128 //登录信息导出

129 $('#output_login_info').click(()=>{130 $('#input_login_info_box').val(JSON.stringify(config['login_info']));131 });132 //全自动答题功能

133 $('#auto_all_ans').click(()=>{134 auto_all_ans=1;135 $('.login_info_change').each((i,v)=>{136

137 setTimeout(()=>{138 $(v).click();139 },(config['set']['dtime']*1000+500)*53*i+1000);140

141 });142 })143

144 //函数:向content保存设置

145 functionsave_set(){146 var res={147 'cmd':'set_conf',148 'data':{149 'save_login': $('#save_login').get(0).checked?1:0,150 'sign_ans': $('#sign_ans').get(0).checked?1:0,151 'sign_ans_mouseover': $('#sign_ans_mouseover').get(0).checked?1:0,152 'auto_ans': $('#auto_ans').get(0).checked?1:0,153 'dtime':parseFloat($('#dtime').val()?$('#dtime').val():3),154 'date_version':config['set']['date_version']155 }156 };157 console.log(res);158 sendMessageToContentScript(159 res,160 //回调函数

161 function(response)162 {163 if(response)164 {165

166

167 }168 }169 );170 //chrome.storage.local.set(res['data']);

171 config['set']=res['data'];172 console.log(res);173 }174

175 //函数:向content递交补充题库

176 functionupdate(data){177 var new_data=data.split(/[\n]+/g);178 console.log(new_data);179 var len=new_data.length;180 var j=0;//题目答案计数器

181 var new_question='';182 var new_answer='';183 var new_ques_arr=[];184

185 //第一个不为空的数组为试题

186 for(var i=0;i

188 if(new_data[i].match(/^\/\//))189 continue;190 //第0、2、4、6..行是题目

191 //第1、3、5、7..行是答案

192 if(j%2==0)193 {194 new_question=new_data[i].replace(/[ABCD. \r\n]/g,'');195 }196 else

197 {198 new_answer=new_data[i].replace(/[ABCD. \r\n]/g,'');199 new_ques_arr.push([new_question,new_answer]);200

201 new_question='';202 new_answer='';203 }204 j++;205 };206 //向前端发送命令

207 if(new_ques_arr.length>0)208 {209 //对无关信息过滤

210 var res={211 'cmd':'set_new_ques',212 'data':new_ques_arr213 };214

215

216 sendMessageToContentScript(217 res,218

python答题器_JavaScript教程之一个基于chrome扩展的自动答题器相关推荐

  1. html5 答题器页面,JavaScript教程之一个基于chrome扩展的自动答题器(4)

    108 }109 //存放到本地存储空间 110 localStorage['config']=JSON.stringify(config);111 };112 $('#msgFromContent' ...

  2. python webkit内核_Winform调用WebKitBrowser,基于chrome内核WebKit的浏览器控件

    在C#中,默认的WebBrowser控件默认使用的是IE的core,而IE的种种遭人吐槽的诟病使我不敢轻易使用WebBrowser,因此,打算使用Chrome的内核替换IE.Chrome的内核使用的是 ...

  3. [No0000188][VCB-Studio 科普教程 2.5] 基于 PotPlayer 和 madVR 的播放器教程(已更新 XySubFilter)...

    Potplayer 是高清影视常用的播放器,界面简洁,功能齐全,比 MPC-HC 和 MPC-BE 更人性化:但其默认方案十分糟糕,预设过多错误,无法正确播放 10-bit 视频,一直饱受诟病.VCB ...

  4. android 流播放器开发,GitHub - youcoding98/FastVideo: 基于Android平台的移动流媒体播放器的开发...

    基于Android平台的移动流媒体播放器的开发 主页界面如下 第一部分 课题相关介绍 与普通播放器相比,流媒体播放器最主要的不同点在于其能够实现实时的视频播放,用户可以实现边加载边播放,不需要一次全下 ...

  5. python selenium中如何测试360等基于chrome内核的浏览器

    直接上代码,注意是基于chrome内核的浏览器,基于ie的请替换其中的chrome方法为ie,但自己未尝试过,如果有结果可以告知! from selenium.webdriver.chrome.opt ...

  6. Postman基于Chrome扩展插件安装

    Postman 是一个很强大的 API调试.Http请求的工具. 该方式是基于 Chrome 浏览器的扩展插件来进行的安装,并非单独应用程序. 1.插件安装包下载地址: 链接:下载链接         ...

  7. python做excel表格教程视频_基于Python实现excel表格读写

    首先安装对应的xlrd和xlwt 打开cmd命令窗口输入pip install xlrd和pip install xlwt就可以安装.之后输入pip list检查是否成功配置: xlrd操作# 接下来 ...

  8. Python爬虫入门教程 90-100 凌晨5点的CSDN自动签到器,用Python爬虫干点闲事

    梦想橡皮擦:这是爬虫百例的第90篇文章,写到这里非常感慨,从第一篇文章在2018年7月30日发布至今已经将要过去2年的时间,即将到达终点.虽然过程中多次因为工作原因导致断更了,但是终于把这个系列坚持了 ...

  9. 基于android平台多媒体播放器的设计与实现,基于Android的多媒体音乐播放器设计论文...

    中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2016)03-0240-02 随着计算机网络与手机的迅速发展,各种音乐资源成为人们生活中必不可少的一部分,音乐播放软件成了手机必 ...

最新文章

  1. 华为诺亚方舟加拿大实验室提出BANet,双向视觉注意力机制用于单目相机深度估计...
  2. mysql 并发锁表_MySQL锁表的用法,防止并发情况下的重复数据
  3. python读取文件第n行-Python实现读取文件最后n行的方法
  4. TP5 验证码功能实现(解决点击验证码不更新的问题)
  5. 校验金额、大小写字母、大写字母、合法uri、email
  6. 学习Nginx,看这篇就就好了!(多图详解)
  7. “命令终端”的实现2-字符读取及按键控制
  8. SetWindowPos详解
  9. S5PV210体系结构与接口09:SD卡启动详解
  10. CSS3学习笔记--line-height:150%与line-height:1.5的真正区别
  11. 计算机实验室场地报告,实验室申请报告.doc
  12. 计算机网络语音传输杂音回音,语音时有回音和杂音,怎么消除?
  13. 装修行业怎么找精准客户?有那些获客渠道?
  14. 基于Kotlin、ViewModel、LiveData和LifeCycle开发的Readhub客户端
  15. python实现问卷网的自动填写详解
  16. 二等水准测量记录数据_二等水准测量外业数据整理(往返测)
  17. 前端使用vux中md5加密方法
  18. 题解 JZOJ 1353.渡河问题
  19. MCS-51单片机结构学习总结
  20. 电脑上怎么登录几个微信(微信多开)?不需要安装软件的方法,超简单

热门文章

  1. 儿童产品CPC认证是什么,CPSC测试标准介绍
  2. switch语句如何用字符串?
  3. 达梦数据库备份与还原
  4. PostgreSQL-psql命令详解
  5. 投放无忧!教育、家装、婚摄、旅游等8大热门行业广告投放攻略
  6. [转帖]Photoshop调出外景照片金色的黄昏效果
  7. 到现在,秋招还没offer怎么办?
  8. 《大数据技术原理与应用》期末考点整合
  9. 刚上新的淘宝宝贝别怕,做好9件事让流量源源不断
  10. Java基础课程设计——DVD管理器