Почему это не работает?JavaScript - PullRequest
0 голосов
/ 20 октября 2010

Это скрипт greasemonkey. Я не знаю javascript, так что это особенно забавно.

function notify(){
    if window.find("1 minute")==true{
        alert("y");
        setTimeout("alert('time to click soon!')",60000)
    }
    if window.find("2 minute")==true{
        alert("y");
        setTimeout("alert('time to click soon!')",2*60000)
    }

... повторяется х30 ...

}
notify();

Заранее спасибо.

Ответы [ 2 ]

7 голосов
/ 20 октября 2010

Вы пропускаете скобки вокруг if условных выражений. Они должны выглядеть так:

if (window.find("1 minute")) {
    alert("y");
    setTimeout("alert('time to click soon!')",60000)
}

Кроме того, нет необходимости явно проверять true; заявление if делает это для вас!


Больше вещей, чтобы Дуглас Крокфорд меньше злился на тебя

Не передавайте строки в setTimeout. Проходные функции. Как это:

setTimeout(function () {
    alert('time to click soon!');
}, 60000);

или как это (даже лучше, так как вы повторно используете функцию):

function showAlert() {
    alert('time to click soon!');
}

// later...

setTimeout(showAlert, 60000);
0 голосов
/ 20 октября 2010

Кроме того, я думаю, что вы, вероятно, должны использовать unsafeWindow .

...