我不了解任何编码/计算机语言,并且需要帮助使用此脚本进行快速销售。
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/
答案 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/DD
,getTime()
方法以毫秒为单位返回日期。
所以,我们需要检查达到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毫秒检查一次条件。 因此,一旦当前时间到达目标时间,我们将获得对按钮的引用并触发单击按钮。