无限循环检查程序崩溃 - Jquery

时间:2016-09-12 02:46:17

标签: javascript jquery google-chrome

所以我为我的一个小项目写了这个简短的代码,这里是代码:

while(true){


if(PremiumExchange.data.stock["wood"]>=64){

var x = PremiumExchange.data.stock["wood"];
document.getElementsByName('buy_wood')[0].value = x;
document.getElementsByClassName('btn float_right btn-premium-exchange-buy')[0].click();
document.getElementsByClassName('btn evt-confirm-btn btn-confirm-yes')[0].click();

}
}

基本上" PremiumExchange.data.stock["wood"]"有时在网页上随机更新。我想设置我的代码,以便密切关注它,然后执行我指示的代码。

问题是,如果我使用无限循环,它会挂起。有没有解决的办法?也许某种计时器?

提前致谢。

编辑:我也试过

function wait(){
  if (!(PremiumExchange.data.stock["wood"]>=64)){
    setTimeout(wait,500);
  } else {
    var x = PremiumExchange.data.stock["wood"];
document.getElementsByName('buy_wood')[0].value = x;
document.getElementsByClassName('btn float_right btn-premium-exchange-buy')[0].click();
document.getElementsByClassName('btn evt-confirm-btn btn-confirm-yes')[0].click();
  }
}

但它似乎不起作用。我做错了吗?

1 个答案:

答案 0 :(得分:1)



function test() {
  if (document.getElementById("test").value) {
    console.log("Success!");
    clearInterval(int);
  }
}

var int = setInterval(test,0);

<input id="test"></input>
&#13;
&#13;
&#13;

这是设置测试而不会导致挂起的示例。

可选地,包含clearInterval以使其仅执行一次。