优惠券 js代码分析

今天看到一段js代码,是关于抢淘宝代金券的js代码,发现这段代码不是很长,但是很具有代表性,

类似于网络爬虫程序,由于代码不长,对于理解爬虫程序很有帮助,然后分析了下这段代码。

下面贴出代码,并附上我的一些注释。

 1 (function(window, document, undefined) {
 2 var interval = 800;  //设置等待时间
 3 var closeDelay = 200;  //设置等待时间
 4 var index = 0;   //定义索引,从0开始
 5 var couponLinks;   //定义数组,存储优//惠卷的值
 6 /**
 7  * 定义获取优惠卷的方法
 8  */
 9 var getCoupon = function() {
10 if (index >= couponLinks.length) {
11 console.log("领取完毕");
12 return;
13 }
14 var coponLink = couponLinks[index];
15 coponLink.click();//模拟点击事件
16 index++;
17 console.log("领取 第" + index + " 张");
18 //以下setTimout定时函数,定时调用getCoupon()
19 setTimeout(getCoupon, interval);
20 //获取点击领取优惠券以后,关闭对话框!
21 setTimeout(function() {
22 var close = document.querySelector(‘.mui-dialog-close‘);
23 if (close != null) close.click();
24 }, closeDelay);
25 }
26 //定义滚动条的垂直位置,初始值设为0。
27 var _scrollTop = 0;
28 //获取页面高度
29 var _scrollStep = document.documentElement.clientHeight;
30 //body对象的高度-可见区域高度
31 //试试document.body.scrollHeight?
32 var _maxScrollTop = document.body.clientHeight - document.documentElement.clientHeight;
33 var autoScrollDown = setInterval(function() {
34 //移动下一个可视窗口
35 _scrollTop += _scrollStep;
36 if (_scrollTop > _maxScrollTop) {
37 //取消定时操作
38 clearInterval(autoScrollDown);
39
40 //拿到所有的选定标签
41 couponLinks = document.querySelectorAll(‘.mui-act-item-yhqbtn‘);
42 //获取该页面的总数
43 console.log("总共:" + couponLinks.length + "条张优惠券待领取...");
44 //对该页面取值
45 getCoupon();
46 } else {
47 document.body.scrollTop = _scrollTop;
48 }
49 }, 500);
50 }) (window, document);
时间: 2024-10-11 00:27:35

优惠券 js代码分析的相关文章

双11,自动领取优惠券 js 代码

http://www.zhihu.com/question/36426051/answer/67690322 本来我不熟悉 js,正好研究一下 1 (function(window, document, undefined) { 2 var interval = 800; 3 var closeDelay = 200; 4 var index = 0; 5 var couponLinks; 6 var getCoupon = function() { 7 if (index >= couponL

jsencrypt代码分析——openssl的rsa加密解密在js的实现

在js上做rsa,感觉jsencrypt这个是封装的比较好的,但用起来还是遇到了些坑,所以踩进代码里填填坑- 项目在这里 https://github.com/travist/jsencrypt [rsa算法] 首先科普一下rsa:公钥私钥成对,用其中一个加密只能用另一个解密,常用公钥加密私钥解密. 一开始看到斯坦佛那个库,原始的算法实现: 长度,建议至少1024.模数n(常取默认65537)两边都要用. 指数e,和n一起就是公钥.指数d,和n一起就是私钥.质数p和q用于生成密钥对,然后就丢弃不

【JS 设计模式 】用组合模式来实现树形导航--JS代码结构思路分析(二)

[JS 设计模式 ]用组合模式来实现树形导航--代码结构思路分析(一) 根据上一节中的HTML代码结构我们通过JS来渲染HTML代码,我们先提供一下JS的代码片段,这代码代码不是一个完整的代码是经过简化的.通过JS代码来分析如何组装HTML的 Composite类型的代码: function TreeComposite(id, name, total, level, last) { var root = document.createDocumentFragment(); var panel =

JS弹幕代码分析

现在许多直播软件和视频都有弹幕功能,让我们来看看并分析是怎么实现的. 这边我主要分析下js的代码,想看源码的朋友送上链接,http://sandbox.xinfan.org/xdd... HTML代码如下(css代码就不展示了,想看的直接看源码吧): <div id="main" class="container"> <p class="p0">啦啦啦啦啦啦啦</p> <p class="p1&

JS代码放在head和body中的区别分析

那么有什么不同呢?先看一个例子: 一个二级级联动态下拉列表框,一级分类(即大类别)id="vSort0". 复制代码代码如下: <head> function changelocation(id) {…………} </head> <body><select class="input1" id="vSort0" name="vSort0" onChange="changeloca

20行js代码制作网页刮刮乐

分享一段用canvas和JS制作刮刮乐的代码,JS部分去掉注释不到20行代码效果如下 盖伦.jpg 刮刮乐.gif HTML部分 <body> ![](img/gailun.jpg) <canvas id="canvas" width="400" height="300"></canvas> </body> 没什么要特别注意的为了效果加了些CSS样式 CSS部分 <style type=&qu

JS 代码调试经验总结(菜鸟必读)

前言:不知不觉写了很多,希望你能耐心看完这篇文章 任何一个编程者都少不了要去调试代码,不管你是高手还是菜鸟,调试程序都是一项必不可少的工作.一般来说调试程序是在编写代码之后或测试期修改Bug 时进行的,往往在调试代码期间更加能够体现出编程者的水平高低以及分析问题的准确度.不少初学者在寻找错误原因时,总是不得要领,花费了大量时间却无法解决一些最终证明是相当简单的Bug. 在长期解答 zTree 相关问题时,也的确发现很多的问题其实不算什么问题,仅仅是编程者不会调试造成的,通过自己日常工作观察,这里

JQuery data API实现代码分析

JQuery data 接口是什么? .data() Store arbitrary data associated with the matched elements or return the value at the named data store for the first element in the set of matched elements. 根据jquery官网介绍,data给存储DOM关联的数据, 设置数据是对$选取的所有JQuery对象, 获取数据是对$选取的所有对象的

检测字符串中是否含有非法字符js代码

检测字符串中是否含有非法字符js代码:通常情况下,网站输入的字符串内容是需要经过检测的,因为有些字符带有一定的危险性,会对站点带来一定的危害,下面就介绍一下如何检测一个字符串是否含有非法字符,代码如下: function checks(str){ szMsg="[#_%&'\",;:=!^]"; alertStr=""; for(i=1;i<szMsg.length+1;i++){ if(str.indexOf(szMsg.substring