倒计时

JavaScript
var msObj = {
    d: "2021-06-04 16:08:00",
    goDate: '', // 秒杀时间
    delay: 50,  // 轮询间隔
    netms: 30,  // 网络延迟量。提前秒杀。30毫秒
    nIntervId: 0
}

if (!msObj.d) {
    msObj.d = prompt("请输入抢购开始时间", "2020-01-01 12:00:00");
}

if (msObj.d) {
    try {
        msObj.goDate = new Date(msObj.d);
        console.log("设定时间成功:" + msObj.goDate);
        msObj.nIntervId = setInterval("ms_go()", msObj.delay);
    } catch (e) {
        alert("时间格式不正确,请使用yyyy-MM-dd hh:mm:ss格式,精确到秒, 请重试");
    }
}

function ms_go() {
    var left = msObj.goDate.getTime() - Date.now() - msObj.netms
    console.log('alive->剩余时间=' + left / 1000)
    if (left < 0) {
        clearInterval(msObj.nIntervId);
        console.log("时间到 开始抢购" + Date.now())
        ecWap.prodDetial.rushBuy()
    }
}

上述代码中29行需要进行相应的修改:ecWap未定义,要改成对应下单按钮的名称和点击的操作

JavaScript
var msObj = {
  d: "2021-06-04 16:08:00",
  goDate: '', // 秒杀时间
  delay: 50,  // 轮询间隔
  netms: 30,  // 网络延迟量。提前秒杀。30毫秒
  nIntervId: 0
}

if (!msObj.d) {
  msObj.d = prompt("请输入抢购开始时间", "2020-01-01 12:00:00");
}

if (msObj.d) {
  try {
    msObj.goDate = new Date(msObj.d);
    console.log("设定时间成功:" + msObj.goDate);
    msObj.nIntervId = setInterval("ms_go()", msObj.delay);
  } catch (e) {
    alert("时间格式不正确,请使用yyyy-MM-dd hh:mm:ss格式,精确到秒, 请重试");
  }
}

function ms_go() {
  var left = msObj.goDate.getTime() - Date.now() - msObj.netms
  console.log('alive->剩余时间 = ' + left / 1000)
  if (left < 0) {
    clearInterval(msObj.nIntervId);
    console.log("时间到 开始抢购" + Date.now())
    D = document.getElementById("pro-operation");
    A = D.firstChild;
    A.click();
  }
}
JavaScript
D = document.getElementById("pro-operation");
A = D.firstChild;
console.log("context: " + A.value);