Страница 1 из 1
[JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 9:30:09
Alex Keda
имею такую конструкцию:
Код: Выделить всё
<a href="#" onclick="javascript:window.open('http://site.su/10552/','10552');
window.open('http://site.su/26719/','26719');
window.open('http://site.su/26721/','26721');
........
">link</a>
ссылок очень много - 60 штук. при клике открывается 60 вкладок в firefox2 - но, не на всех то что в УРЛ.
т.е. на некоторох вместо указанной - главная страница сайта. при ручном открытии - всё путём.
либо движок мой глюкает при большой нагрузке, либо лису.
можно ли какие-то таймауты воткнуть - меня устроит открытие всех 60 за несколько секунд....
(щас открывается за секунду-полторы - машина очень шустрая, да и на сервер не сильно грузит - движок лёгкий достаточно)
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 12:00:23
terminus_
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 12:08:40
terminus
Только, наверно, это придется оформить как дополнительную функцию с параметрами и вызвать ее. А нито кавычки " ' и запятые перепутаются...
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 13:03:24
Alex Keda
terminus писал(а):Только, наверно, это придется оформить как дополнительную функцию с параметрами и вызвать ее. А нито кавычки " ' и запятые перепутаются...
там в чём время?
можно ли налепить их между вызовами открытия новой страницы?
========
я js совсем не знаю =(
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 13:09:58
Гость
время в милисекундах.
наверно я зря кипишнул по поводу кавычек (джаваскрипт должен будет сам все расставить - он типа умный).
попробуй так:
Код: Выделить всё
<a href="#" onclick="javascript:setTimeout('window.open(http://site.su/10552/,10552)',1000);
setTimeout('window.open(http://site.su/26719/,26719)',1000);
setTimeout('window.open(http://site.su/26721/,26721)',1000);
........
">link</a>
°
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 13:25:53
Alex Keda
пркоатило так
Код: Выделить всё
setTimeout('window.open(\'http://www/26719\',\'26719\')',100);
но - есть бага. он их все одновременно запускает через указанное время

надо время как-то рандомно геенрить )
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 13:31:41
Alex Keda
Код: Выделить всё
setTimeout('window.open(\'http://www/26719\',\'26719\')',Math.random());
сделал так. примерно первые 30 открываются отлично, потом снова косяки начинаются.
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 13:32:36
terminus_
Код: Выделить всё
function getrnd(a,b){
return Math.round(Math.random()*(b-a));
}
/*
dast cluchajnoe chislo iz diapazona [a;b]
*/
Код: Выделить всё
setTimeout('window.open(\'http://www/26719\',\'26719\')',getrnd(100,500));

Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 13:34:29
terminus_
N2
Код: Выделить всё
setTimeout('window.open(\'http://www/26719\',\'26719\')',eval(Math.round(Math.random()*(500-100))));
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 13:38:55
Alex Keda
Код: Выделить всё
setTimeout('window.open(\'http://www/26719\',\'26719\')',Math.random()*10000);
вот так всё атлична, за одним НО.
Открывается лишь половина ссылок... =((
по твоему последнему варианту - открывается всё, но с косяками...
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 13:44:17
Alex Keda
оставил исходный вариант - без земедления
при любых замедлениях некоторая часть окон не открывается вообще.
всем спасибо за внимание

Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 13:44:40
terminus_
может диапазон таймаутов увеличить:
Код: Выделить всё
setTimeout('window.open(\'http://www/26719\',\'26719\')',eval(Math.round(Math.random()*(2000-1000))));
Math.random() дает случайное чисто из [0;1) - непомню какого порядка - [0.000 - 0.999] вроде возврящает...
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 13:46:31
terminus_
а ты в опере открой - там дебуггер для ждаваскрипта классный - увидешь может почему косяки...

Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-28 15:04:29
Alex Keda
в опере тоже не все страницы верно открываются, ксттаи...
так что косяк у меня в сайте походу. надо тока понять какой.
Re: [JS] замедлить выполнение скрипта
Добавлено: 2009-08-29 14:47:43
terminus
блин, сам смотрю - че же я написал, и удивляюсь. вот так правильно:
Код: Выделить всё
function getrnd(a,b){
return Math.round(a+(Math.random()*(b-a)));
}
/*
dast cluchajnoe chislo iz diapazona [a;b]
*/
а ведь когда-то я на джаваскриптах лабал только в путь, а сейчас уже навык утрачивается...
