Консультация № 179755
21.08.2010, 22:16
0.00 руб.
0 3 0
Здравствуйте, эксперты.

Как сделать на сайте на подобие того как сделано в контекстной рекламе Бегуна. Но мне надо не для для рекламы, а чтобы посетитель не искал дополнительную информацию на сайте, а мог просто щелкнуть на ссылку и сразу к ней перейти.

Например.
На одной странице:
"Размещая платный вопрос, Вы, тем самым, выражаете свою благодарность экспертам за их нелёгкий труд и оперативную помощь как лично Вам, так и участникам портала."
и в этом тексте есть ссылка на слове "платный вопрос" которая ведет в совершенно другой раздел сайта, где подробно всё описывается.

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

Обсуждение

Неизвестный
22.08.2010, 08:15
общий
Puma:
А почему не занести эту ссылку в html-код на Вашей странице?
Неизвестный
22.08.2010, 17:30
общий
Потому что страницы, на которую она указывает, сейчас еще нет и неизвестно, когда она появится. Т.е. посетитель нажмет на ссылку и ему вылетит ошибка - такой страницы нет, или он будет переадресован на главную, что не очень хорошо.
Неизвестный
23.08.2010, 11:01
общий
Puma:
Ссылки бегуна ставятся путем подключения javascript, который ищет в тексте страницы ключевые слова и ставит вокруг них тег <a>
Javascript получается примерно такой:
Код:
var links=new Array();
links.push({kw:['главная страница','главную страницу','главной странице'],href:'/',title:'перейти на главную страницу'});
links.push({kw:['контакты','связаться','адрес','об организации'],href:'/about',title:'Об организации:адреса и телефоны'});
/* В массив links можно добавить еще ключевых слов и фраз, только нужно следить, чтобы более короткие фразы/слова не входили в более длинные
и помнить о родах/падежах/временах - прописать все формы либо регулярное выражение, закрывающее все формы*/

var text=document.getElementById('main_text');
for(var k=0;k<links.length;k++)
for(var kk=0;kk<links[k].kw.length;kk++)
text.innerHTML=text.innerHTML.replace(new RegExp('([ (])'+links[k].kw[kk]+'([ .,:;!)])','g'),'$1<a href=\''+links[k].href+'\' title=\''+links[k].title+'\'>'+links[k].kw[kk]+'<\/a>$2');


И тестовая страница:
Код:
<html><head>
<title>q179755</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<body>
<div id=main_text>
Перейти на главную страницу.
Так же с нами можно связаться.
Больше информации можно узнать на главной странице.
Адреса и телефоны можно посмотреть на странице контакты.
На сайте есть главная страница.

</div>


<script type=text/javascript src=q179755.js></script>
</body>
</html>

Скрипт сохраните как q179755.js, либо поменяйте в html.
На больших страницах и при большом количестве ключевых фраз будет тормозить (можно например ввести задержку).
Форма ответа