【问题标题】:Advice on this script关于这个脚本的建议
【发布时间】:2016-10-18 06:11:00
【问题描述】:

我对任何类型的编码/计算机语言一无所知,需要帮助使用此脚本进行闪购。

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/

【问题讨论】:

    标签: javascript dom-events


    【解决方案1】:

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

    在这段代码中,这一行是

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

    是不必要的,错误的,应该被替换为

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

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

    另外,setInterval

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

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

    【讨论】:

    • 没错,原始代码是错误的,因为它偏离了 1000 倍,但您的简化版本也是如此,因为它只给您 10% 的机会匹配指定的时间。 (您正在检查精确的毫秒匹配,但仅每 10 毫秒执行一次。)
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      逻辑很简单。他每 10 毫秒检查一次闪购时间。到达时间后,他将获得页面上的“添加到购物车”按钮并动态单击它。

      我会解释清楚的。

      例如:

      小米手机闪购将于 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 毫秒检查一次条件。 因此,一旦当前时间达到目​​标时间,我们就会获得对按钮的引用并触发对按钮的点击。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-11
        相关资源
        最近更新 更多