1

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

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();
                }
            }
        }
    }
}

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

谢谢,亚历克斯

4

2 回答 2

2

刷新时,您的代码不再存在。您有一个带有新代码的新页面。当您了解这一点时,很明显不存在的代码将无法运行。

于 2012-05-26T13:57:47.547 回答
0

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

于 2012-05-26T14:11:11.130 回答