javascript setTimeout, страница выглядит как бесконечно загружаемая (firefox) - PullRequest
1 голос
/ 27 октября 2009
var checkTextValue = setTimeout(function() {
var textVal = $('p').text();
if (textVal == 'expectedValue'){
    callback();
} else {
    setTimeout(arguments.callee, 10);
}
},10);

У меня есть этот код, он работает просто отлично, но проблема в том, что в Firefox страница выглядит бесконечно загруженной.

Ответы [ 3 ]

1 голос
/ 27 октября 2009

выглядит бесполезно ... Я имею в виду setTimeout (checkTextValue, 10); - что ты там сидишь? checkTextValue - это просто идентификатор тайм-аута, больше ничего ... Не знаю, почему FF будет загружаться бесконечно, просто потому, что код неисправен ...

0 голосов
/ 27 октября 2009

Я думаю, это случай рецидива. Google 'recusrion' для большего количества подсказок. Просто шучу. checkTextValue будет работать неопределенно долго, если значение не будет «Ожидаемое значение».

0 голосов
/ 27 октября 2009

Это потому, что он бесконечно загружается. В основном вы делаете рекурсию и запускаете другой экземпляр каждые десять миллисекунд. Учитывая достаточно времени, я думаю, что также возможно убить ваш браузер с помощью этого кода.

Попробуйте вместо этого использовать onchange -eventhandler в поле ввода.

...