Рандомная ссылка

Sudba

Гуру форума
Регистрация
6 Дек 2007
Сообщения
930
Реакции
50
Здравствуйте. Подскажите пожалуйста, нужен скрипт рандомной ссылки и текста.
Например:
Код:
<a href="http://site1.com">Ссылка1</a>
<a href="http://site2.com">Ссылка2</a>
И выводилась рандомно, то Ссылка1, то Ссылка2. Но выводилась с помощью js скрипта на сайте.
 
function r_out01(){
var b=[];
b[0]='<a href="Для просмотра ссылки Войди или Зарегистрируйся">Ссылка1</a>';
b[1]='<a href="Для просмотра ссылки Войди или Зарегистрируйся">Ссылка2</a>';
var i=Math.floor(Math.random()*b.length);
document.write( b );
}
<script type="text/javascript">r_out01()</script>



<script language="JavaScript">
<!--
var r_text = new Array ();
r_text[0] = "<a href="Для просмотра ссылки Войди или Зарегистрируйся">Ссылка1</a>";
r_text[1] = "<a href="Для просмотра ссылки Войди или Зарегистрируйся">Ссылка2</a>";
var i = Math.floor(2*Math.random())

document.write(r_text);

//-->
</script>
 
function r_out01(){
var b=[];
b[0]='<a href="Для просмотра ссылки Войди или Зарегистрируйся">Ссылка1</a>';
b[1]='<a href="Для просмотра ссылки Войди или Зарегистрируйся">Ссылка2</a>';
var i=Math.floor(Math.random()*b.length);
document.write( b );
}
<script type="text/javascript">r_out01()</script>



<script language="JavaScript">
<!--
var r_text = new Array ();
r_text[0] = "<a href="Для просмотра ссылки Войди или Зарегистрируйся">Ссылка1</a>";
r_text[1] = "<a href="Для просмотра ссылки Войди или Зарегистрируйся">Ссылка2</a>";
var i = Math.floor(2*Math.random())

document.write(r_text);

//-->
</script>
но я так понимаю, что данный код не позвонил индексировать ссылку? а я хотел бы чтобы она индексировалась.
 
Сделал через jQuery
В head'e:
HTML:
<script>
$(document).ready( function(){
      $("#randomlinks a").hide();    //    Спрятали все ссылки внутри дива #randomlinks
      $numb = Math.floor(Math.random()*$("#randomlinks a").length);    //    Постичтали, сколько там ссылок внутри и вывели случайное число исходя из количества
      $("#randomlinks a").eq($numb).show();    //показали ссылку с этим индексом
});
</script>

в body:
HTML:
<div id="randomlinks">
    <a href="http://nic.yandex">nic.yandex</a>
    <a href="http://goo.gl">goo.gl</a>
    <a href="http://api.2gis.ru">api.2gis.ru</a>
    <a href="http://kupidon.club/">kupidon.club</a>   
</div>


Библиотека jQuery должна быть подключена хотя бы так:
HTML:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
 
В этом случае, кстати, все 4 ссылки внутри нужного нам дива представлены в виде чистого html и вполне индексируемые.
 
В этом случае, кстати, все 4 ссылки внутри нужного нам дива представлены в виде чистого html и вполне индексируемые.
Это конечно хорошо, но представьте, что у меня 100 ссылок? и тогда в html исходном коде какой здоровый столбец будет
<div id="randomlinks">. А вот если бы убрать все эти ссылки и выводить по одной.
Sape ведь каким-то образом выводит ссылки, так что они индексируются. Хотя принцип такой же. Система отослала на сайт данные - Сайт вывел ссылку.
 
у вас взаимоисключающие условия:
1) вы хотите, чтобы обработка шла на клиенте, то есть с помощью JS
2) вы хотите, чтобы ссылка индексировалась
3) вы не хотите, чтобы грузились все ссылки сразу, а только по одной.

тут что то одно имхо придётся исключить - самое простое - формировать код вывода не на клиенте, а на сервере. Но тогда это не клиентский javascript, а скорее, PHP..

Это конечно хорошо, но представьте, что у меня 100 ссылок? и тогда в html исходном коде какой здоровый столбец будет
<div id="randomlinks">.

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