DHTML+javascript. Как быть с поисковиками?

12 3
D
На сайте с 24.03.2007
Offline
24
1103

Доброе время суток,

Делаю сайт для одной компании и они хотят динамическое меню. Я если честно всегда был против таких вещей, но если заказчик хочет то пусть. Ну так вот, вот код:

<head>

<title>Test</title>

<style type="text/css">

h2 {background-color: lightblue; width: 100%}

a {font-size: larger; background-color: goldenrod}

a:hover {background-color: gold}

#example1 {display: nine; margin: 3%; padding: 4%; background-color: limegreen}

</style>

<script type="text/javascript">

<!--

function changeDisplayState (id) {

e=document.getElementById(id);

if (e.style.display == 'none' || e.style.display =="") {

e.style.display = 'block';

showhide.innerHTML = 'Hide example';

} else {

e.style.display = 'none';

showhide.innerHTML = 'Show example';

}

}

//-->

</script>

</head>

<body>

<p><a id="showhide" href="javascript:changeDisplayState('example1')">Show example</a></p>

<div id="example1" style='position:absolute; left:50; top:200; width:100;'>

<a href='www.mysite.ru/razdel.php>Тест ссылки</a>'</div>

<p>The general text continues ....</p>

<p></p>

</body>

Вопрос: будет ли передаваться вес на страницу www.mysite.ru/razdel.php и вообще будет ли она проиндексирована?

Заранее огромное спасибо.

K
На сайте с 12.07.2006
Offline
295
Kpd
#1
denisrog:
Вопрос: будет ли передаваться вес на страницу www.mysite.ru/razdel.php и вообще будет ли она проиндексирована?

А почему бы и нет? Ссылка в естественном виде есть в коде страницы, часто делаю такие менюшки. Всё нормально. А вот если будешь добавлять ссылку чисто через Jaascript, то проблемы скорее всего будут.

Dreammaker
На сайте с 20.04.2006
Offline
569
#2
denisrog:
display: nine;

Она у Вас не только поисковиками, но обычными юзверями видна сразу будет :) ;)

update: На пхпклубе кажется, идея была хорошая: менюхи полностью на джаваскриптах (не такие как у Вас, а особо извращённые :) , где формируется всё с помощью яваскриптов и ссылки в том числе) дублировать в <noscript></noscript>.

Kolyaj
На сайте с 28.03.2006
Offline
69
#3
Dreammaker:
менюхи полностью на джаваскриптах (не такие как у Вас, а особо извращённые , где формируется всё с помощью яваскриптов и ссылки в том числе) дублировать в <noscript></noscript>.

А еще лучше выводить нормальный HTML-код меню, в идеале конечно список, который стилями приводится к нужному виду. А в конце странички JavaScript-код, который будет разделывать этот список и делать из него динамическое меню. В результате все довольны: и поисковики, и нормальные юзеры (с JavaScript), и юзеры с отключенным JavaScript, и даже юзеры с текстовыми браузерами.

a.fatman
На сайте с 15.01.2006
Offline
127
#4

Более того -- Javascript нужен только для популярного браузера от компаннии Microsoft.

Ayavryk
На сайте с 11.10.2003
Offline
209
#5
a.fatman:
Более того -- Javascript нужен только для популярного браузера от компаннии Microsoft.

А что остальные броузеры его не понимают или перешли на VBScript?

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
a.fatman
На сайте с 15.01.2006
Offline
127
#6

Все остальные понимают :hover не только для a.

Ayavryk
На сайте с 11.10.2003
Offline
209
#7
a.fatman:
Все остальные понимают :hover не только для a.

Причем здесь hover? В приведенном коде отрабатывается onclik.

D
На сайте с 24.03.2007
Offline
24
#8
Kolyaj:
А еще лучше выводить нормальный HTML-код меню, в идеале конечно список, который стилями приводится к нужному виду. А в конце странички JavaScript-код, который будет разделывать этот список и делать из него динамическое меню. В результате все довольны: и поисковики, и нормальные юзеры (с JavaScript), и юзеры с отключенным JavaScript, и даже юзеры с текстовыми браузерами.

Спасибо, за совет. Только если честно не очень понял:) Ты не мог бы привести пример кода или дать ссылочку, где это использовано. Спасибо.

a.fatman
На сайте с 15.01.2006
Offline
127
#9
Kolyaj
На сайте с 28.03.2006
Offline
69
#10

Подробный код давать не буду, лень. Суть такая. Имеется двухуровневое меню, его в лучших традициях оформляем в список


<ul id="menu">
<li><a href="#">Пункт 1</a>
<ul>
<li><a href="#">Пункт 1.1</a></li>
<li><a href="#">Пункт 1.2</a></li>
<li><a href="#">Пункт 1.3</a></li>
</ul>
</li>
<li><a href="#">Пункт 2</a>
<ul>
<li><a href="#">Пункт 2.1</a></li>
<li><a href="#">Пункт 2.2</a></li>
<li><a href="#">Пункт 2.3</a></li>
</ul>
</li>
<li><a href="#">Пункт 3</a>
<ul>
<li><a href="#">Пункт 3.1</a></li>
<li><a href="#">Пункт 3.2</a></li>
<li><a href="#">Пункт 3.3</a></li>
</ul>
</li>
</ul>

Стилями делаем его красивым. После этого добавляем скрипт который скрывает элементы второго уровня, а при клике на пункты первого уровня скрывает/показывает подпункты.


(function(menu_id) {
var menu = document.getElementById(menu_id);
var items = menu.childNodes;
for (var i = 0; i < items.length; i++) {
if (items.tagName && items.tagName.toLowerCase() == 'li') {
var link = items.getElementsByTagName('A')[0];
var submenu = items.getElementsByTagName('UL')[0];
submenu.style.display = 'none';
link.onclick = (function(sm) { return function() { sm.style.display = sm.style.display == 'none' ? '' : 'none'; return false; } })(submenu);
}
}
})('menu');

P.S. Извиняюсь за замудреный код, более простой было опять же лень писать. Тут главное суть.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий