对此脚本的建议

时间:2016-10-18 06:11:01

标签: javascript javascript-events

我不了解任何编码/计算机语言,并且需要帮助使用此脚本进行快速销售。

setInterval(function() { 
    var m = Math.floor((new Date).getTime()/1000); 
    if(m == '1476693000000') { 
        document.getElementsByTagName('a')[43].click(); 
    } 
    else { 
        console.log("Script Activated…"); 
    } 
},10);

我的问题是这个脚本“真的”做了什么,有没有办法进一步改进它以增加购买所需产品的机会?

此剧本已被描述用于Mi India网站上的闪购,其来源于

http://trickweek.com/mi-rs-1-flash-sale-script-trick-buy-successfully-redmi-note3-mi4-rs-1/

3 个答案:

答案 0 :(得分:0)

看来,您的脚本会等待一段时间(今天下午2点),一旦您的系统时间是下午2点,它会点击特定链接。

在此代码中,此行为

var m=Math.floor((new Date).getTime()/1000);

是不必要的,错误的,应该用

代替
var m=(new Date).getTime();

因为它稍后将m与实际的毫秒值进行比较。

此外, setInterval

它需要两个参数 - 回调处理程序和毫秒值。

它每10毫秒调用一次回调处理程序。

答案 1 :(得分:0)

setInterval每10毫秒执行一次函数体内部的操作。 Var m获得小于或等于括号内的最大整数。 然后转到if条件以检查m是否等于1476693000000,然后找到并单击第43个(从0开始)元素(标记)a。如果if条件失败,则会执行else条件,并将其打印到控制台日志Script Activated…

答案 2 :(得分:0)

逻辑很简单。他每10毫秒检查一次闪购时间。一旦到达时间,他就会得到"加入购物车"页面上的按钮并动态点击它。

我会清楚地解释你。

例如:

Mi mobiles闪购将于2016年10月17日下午2点开始。所以,通过javascript,他正在检查当前时间是否到达预期时间。

通常,我们无法直接将日期与其他日期进行比较。因此,我们需要将日期随时间转换为最准确的时间,即毫秒。所以我们可以得到闪存销售日期的时间戳(以毫秒为单位的时间)..

var flashSaleTime = new Date("2016/10/17 02:00:00:000 PM").getTime();

注意:在Javascript中,默认日期格式为YYYY/MM/DDgetTime()方法以毫秒为单位返回日期。

所以,我们需要检查达到falshSaleTime的当前时间(以毫秒为单位),我们需要动态点击Add To Cart按钮。

var flashSaleTime = new Date("2016/10/17 02:00:00:000 PM").getTime();
setInterval(function(){
    var currentTime = Math.floor((new Date).getTime()/1000);
    if(currentTime*1000 === flashSaleTime){
        document.getElementsByTagName('a')[43].click();
    }
},10);

这里,setInterval函数每10毫秒检查一次条件。 因此,一旦当前时间到达目标时间,我们将获得对按钮的引用并触发单击按钮。