所以我为我的一个小项目写了这个简短的代码,这里是代码:
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();
}
}
但它似乎不起作用。我做错了吗?
答案 0 :(得分:1)
function test() {
if (document.getElementById("test").value) {
console.log("Success!");
clearInterval(int);
}
}
var int = setInterval(test,0);

<input id="test"></input>
&#13;
这是设置测试而不会导致挂起的示例。
可选地,包含clearInterval
以使其仅执行一次。