刚出炉的淘宝砍价插件来了

开篇

  早上,朋友说淘宝一块钱抢东西来了,一看还有点新鲜,叫“砍价”,就是用户用鼠标一刀刀的砍,价钱就一直减,直到减到一元,感觉还比较新鲜,于是想写个插件还砍他一砍,于是就有了这个插件

  本来没什么可说了,上代码就完了,但我还是把过程记录一下吧,分享分享

  所用工具:Chrome

  砍价地址:http://www.tmall.com

  下载地址

淘宝砍价界面和本插件最终实现的效果

  

分析实现

  首先,找到上图中幕后指使者,也就是脚本

查看源代码,慢慢分析,慢慢看,一个个排除,直到look到这一段

进入上面的js脚本一探究竟

  是不是看不懂,这明显经过了压缩,要想容易理解,最好能恢复压缩前的样子,但是我们没办法实现这一点,就只能借助工具将格式化一下了

格式化后的代码片段

  是不是要好看多了,接下来对其进行分析,此脚本是基于淘宝的KISSY库写的,多看几遍脚本就可以发现,此脚本注册了如下几个模块

     hyp,model,view,ua-helper

  hyp主要为模块入口,负责初始化和调度其他模块

  model为核心模块

  view负责显示

  ua-helper为辅助模块

  在抢票界面上移动鼠标,然后监听提交地址,再用提交地址去代码中搜索,便会发现此代码

  

  它在model模块内,搜索使用到 i 这个变量的地方便会发现这个函数

分析代码发现,这正是砍价的核心代码,blade就是砍的意思,jsonp就是对ajax的封装,如下:

 明白了调用方式,我们只需要调用此函数即可

 为了更好的效果,我还发现了

  var cx = l.locationToDegree(x1, y1);

  o._limitScratch(r, cx);

   这两句是挥动刀的动画,于是组装一段代码将其放入初始化代码中便得到了如下代码

写好代码,将其封装成chorme插件

文件:

然后打开chrome设置界面

启用开发者模式,浏览到文件目录,点击确定即可(下载的话,需要先解压)。

使用效果

经过测试,秒杀插件就可以使用了,等待开始后,插件会调用淘宝的脚本自动砍价,砍价间隔默认为250毫秒左边砍一下,再过250毫秒右边砍一下,如此往复。

如果你嫌挥刀太慢,不够劲爆,你可以这样做

打开TbBlade.js,修改图中的数值,然后重新加载插件,刷新网页即可

最新

  提示“网络忙”,“商品到别人碗里去了”之类的遮罩层会被隐藏,不会挡住挥刀动画了。

 下载地址

原文地址:https://www.cnblogs.com/xianhong/p/3141083.html