С нами с 22.10.04
Сообщения: 260
Рейтинг: 230
|
Добавлено: 27/03/06 в 18:21 |
Киньте ява рандом редирект, который редиректит на случайно выбранный урл. У меня есть вот такой код:
Код: | <SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function go_to(url) {
window.location=url;
}
function rand_link() {
var a;
a = 1+Math.round(Math.random()*4); // a = random number between 1-4
if (a==1) go_to("http://site1.com");
if (a==2) go_to("http://site2.com");
if (a==3) go_to("http://site3.com");
if (a==4) go_to("http://site4.com");
}
// End -->
</SCRIPT> |
но работает криво (периодически выскакивает пустая страница).
Рейтинг, естественно, с меня!
|
|
|
|
Ревнивый муж подобен турку
С нами с 01.03.06
Сообщения: 4302
Рейтинг: 905
|
Добавлено: 27/03/06 в 18:26 |
Первое, что приходит в голову, поставь в конце переход на страницу 5.
|
|
|
|
С нами с 22.10.04
Сообщения: 260
Рейтинг: 230
|
Добавлено: 27/03/06 в 18:42 |
Хм... Т.е. просто добавить Код: | if (a==5) go_to("http://site5.com"); |
и остальное не менять?
|
|
|
|
Ревнивый муж подобен турку
С нами с 01.03.06
Сообщения: 4302
Рейтинг: 905
|
Добавлено: 27/03/06 в 18:52 |
Точно по коду не скажу - боюсь наебать.
Но я имел в виду уже после "if" поставить безусловный переход на пятую страницу.
|
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 28/03/06 в 00:22 |
да, все верно, не хватает условия, когда а=5.
потому что a = 1+Math.round(Math.random()*4);
т.е. если убрать 1+ - то будет генериться число от 0 до 4, соответственно как есть - это от 1 до 5.
|
|
|
|
С нами с 22.10.04
Сообщения: 260
Рейтинг: 230
|
Добавлено: 28/03/06 в 00:37 |
webboxxx писал: | да, все верно, не хватает условия, когда а=5.
потому что a = 1+Math.round(Math.random()*4);
т.е. если убрать 1+ - то будет генериться число от 0 до 4, соответственно как есть - это от 1 до 5. |
Вроде понял. Но для верности, если не сложно, подправь мой код для 4-х url (чайник я, чайник )
|
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 28/03/06 в 02:59 |
замени
a = 1+Math.round(Math.random()*4);
на
a = 1+Math.round(Math.random()*3);
|
|
|
|
С нами с 14.10.03
Сообщения: 374
Рейтинг: 609
|
Добавлено: 28/03/06 в 09:58 |
Можно попробовать использовать конструкцию switch-case-default, как наиболее логичную для данного примера.
|
|
|
|
С нами с 22.10.04
Сообщения: 260
Рейтинг: 230
|
Добавлено: 28/03/06 в 10:13 |
Всем спасибо. Все работает. Ответы оценил.
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 28/03/06 в 15:15 |
Во-первых, надо писать Джава, а не Ява. Глаза режет. Во-вторых, это даже не Джава, а Джава Скрипт (Java Script). Ну а в-третьих, такие вещи лучше всего реализуются через массив, т.е. так:
Код: |
<SCRIPT LANGUAGE="JavaScript">
<!--
var url_array = new Array();
// помещаем сюда адреса страниц для перехода в следующем виде:
url_array.push("http://www.microsoft.com/");
url_array.push("http://www.ibm.com/");
url_array.push("http://www.cnn.com/");
url_array.push("http://www.google.com/");
url_array.push("http://www.borland.com/");
url_array.push("http://www.zend.com/");
window.location = url_array[Math.round(Math.random() * (url_array.length - 1))];
-->
</SCRIPT>
|
и все! если не считать строк с URL-ами сайтов для перехода, то получается всего 2 строки кода
|
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 28/03/06 в 15:36 |
Ну и в совсем короткий код в качестве выебона :
Код: |
<SCRIPT LANGUAGE="JavaScript">
<!--
var url_array = new Array("http://www.cnn.com/", "http://www.ibm.com/", "http://www.zend.com/");
window.location = url_array[Math.round(Math.random() * (url_array.length - 1))];
-->
</SCRIPT>
|
Адреса сайтов прописываются прямо в определении массива. Их (адресов) может быть сколько угодно. Такой вариант кода можно использовать в случае, когда список адресов задается жестко и не меняется по ходу выполнения скрипта. Т.е. это именно тот случай, о котором писал топикстартер.
|
|
|
|