Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задержка при выполнении скрипта (https://javascript.ru/forum/misc/21327-zaderzhka-pri-vypolnenii-skripta.html)

leny 05.09.2011 15:59

Задержка при выполнении скрипта
 
Доброго времени суток, уважаемые программисты!
Нужна ваша помощь!
Есть вот такой вот скриптик:

var kod1=document.getElementById('ires');
var kod2=kod1.innerHTML;
var b=/\<a\shref="http:\/\/www.site.ru\/.{200}/;
var c=kod2.match(b);
if(c){
a=document.createElement('a');
a.innerHTML=c;
var link=a.getElementsByTagName('a')[0].href;
location.href=link;
	 }
if(!c)
{
function my () {	
while (!c){
var i=10;
var search2 = "Пример запроса";
regV = /\s/g; 
var result=search2.replace(regV, '+');
var link1='http://www.la-la-la.ru/search?q='+result+'&hl=ru&newwindow=1&biw=1280&bih=701&prmd=ivns&ei=sXliTqetJsir-gaK-6GbCg&sqi=2&start='+i+'&sa=N';
location.href=link1;

if(c){
a=document.createElement('a');
a.innerHTML=c;
var link=a.getElementsByTagName('a')[0].href;
location.href=link;
	 }
		   } i=i+10;
				}
				setTimeout(my, 3000);
			   
}


Этот скрипт перебирает страницы до тех пор пока на какой-то из страниц не найдет нужную ссылку и не перейдет по ней

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

Прошу вашей помощи!
Заранее спасибо!

ksa 05.09.2011 16:20

Цитата:

Сообщение от leny
но почему-то зацикливается

Причина зацикливания прекрасно распознаётся при пошаговом тестировании... ;)

leny 05.09.2011 17:19

как вы себе это представляете, что я там буду убирать, там только один цикл

leny 05.09.2011 21:37

я допустил ошибку, счетчик засунул прям в цикл а надо перед циклом. Ошибку исправил, но все равно зацикливается - ничего не пойму. Прошу помощи!

devote 05.09.2011 21:59

внутри while (!c){ у вас переменная с нигде не переназначается... отсюда и зацикливание.

Sweet 05.09.2011 22:01

Цитата:

Сообщение от leny
как вы себе это представляете

Например, в chrome есть breakpoint'ы, так что отлаживаться по строчке - это очень реально.

popov654 06.09.2011 00:54

И не только в Chrome)

ksa 06.09.2011 09:14

Цитата:

Сообщение от leny
как вы себе это представляете

Прекрасно себе представляю. :D

Цитата:

Сообщение от leny
там только один цикл

И в нём одном ты запутался... Начинай учиться тестить свой код. В противном случае бросай его писать совсем или готовь деньги для проф.программера... ;)

leny 06.09.2011 15:25

я пишу этот скрипт для CAP, поэтому у меня нет возможности протестировать его в браузере

ksa 07.09.2011 09:43

Цитата:

Сообщение от leny
у меня нет возможности протестировать его в браузере

Т.е. тестировать придется нам? :lol:


Часовой пояс GMT +3, время: 01:01.