脚本只运行一次

时间:2012-05-26 13:55:58

标签: javascript

这是一个[应该]刷新页面,查找价格的脚本,如果价格低于用户指定的价格,则购买它。如果价格较高,它会刷新页面并再次执行,直到找到价格:

var tags = document.getElementsByTagName('b');
var price;
var lp;
var sp;
var setSnipe = false;
var loaded = false;
for (i = 0; i < tags.length; i++) {
    console.log(tags[i].innerHTML);
    if( tags[i].innerHTML.indexOf('R$') !== -1) {
        if (i==5){
            var price = tags[i].innerHTML.match(/\d+/)[0];
            setSnipe = confirm("Lowest price: R$" + price +". Set a sniper?");
        } else {
        }
    } else {
    }
}
if (setSnipe == true) {
    lp = prompt("Snipe Price?");
    refresh();
}

function refresh() {
    location.reload(true);
    setTimeout('checkSnipe()', 3000);
}

function checkSnipe() {
    var tagss = document.getElementsByTagName('b');
    for (i = 0; i < 6; i++) {
        console.log(tagss[i].innerHTML);
        if( tagss[i].innerHTML.indexOf('R$') !== -1) {
            if (i==5){
                var price = tagss[i].innerHTML.match(/\d+/)[0];
                price = Number(price);
                if (price<=lp){
                    alert("Snipe Found!");
                } else {
                    alert("No snipe");
                    refresh();
                }
            }
        }
    }
}

由于某种原因,它只运行一次然后停止。有什么建议/帮助吗?

谢谢, 亚历

2 个答案:

答案 0 :(得分:2)

刷新时,您的代码不再存在。你有一个新页面,新代码。当你理解这一点时,很明显不存在不存在的代码。

答案 1 :(得分:0)

即使用户刷新浏览器,也要尝试使代码保持不变。另外,再次检查你的代码,它可能有一些逻辑错误(你可能在if-else部分放错了大括号)。