Проверьте, включен ли JavaScript в браузере - PullRequest
2 голосов
/ 28 сентября 2010

У меня есть этот код, который проверяет, включен ли js, и перенаправляет:

<noscript><meta http-equiv="refresh" content="0;url=http://www.domain.se/act.html"></noscript>

Тем не менее, мне интересно, дружит ли это с SE ...

Это потому, что я недавно добавил свой веб-сайт в Yahoo, и вместо заголовка, появляющегося в результатах поиска, появляется текст из "aktivera_javascript.html" выше. Почему это?

Спасибо

UPDATE:

Если приведенный выше код не подходит для проверки доступности js, то какой другой метод я должен использовать вместо этого?

Ответы [ 3 ]

3 голосов
/ 28 сентября 2010

Тег noscript предназначен для пользовательских агентов, которые не могут выполнить скрипт.Так как Yahoo!spider - один из тех агентов, я бы предположил (но не уверен), что он уважает содержимое тега noscript и, следовательно, директиву обновления HTTP, содержащуюся в нем.В результате он думает, что ваш сайт живет на http://www.skuffen.se/aktivera_javascript.html, и отображает этот контент в результатах поиска.

Чтобы решить эту проблему, я бы предложил:

  1. Использовать прогрессивное улучшение , чтобы гарантировать, что базовый контент доступен без Javascript, и слой расширенных функций сверху.Пользовательские агенты без Javascript не будут знать ничего другого, а те, у кого есть, получат более богатый опыт.
  2. Просто используйте тег noscript в качестве предупреждения, а не полного перенаправления на другую страницу, смотрите Как проверитьJavaScript в браузере включен или нет.
1 голос
/ 28 сентября 2010

Лично я думаю, что прогрессивное улучшение - это путь. Независимо от этого вы можете попробовать что-то вроде:

по умолчанию люди приходят на страницу не-js. на странице есть скрипт, который запускается под нагрузкой:

<script type="text/javascript">
  window.location.href = 'page-with-javascript.html';
</script>

если у пользователя включен javascript, они немедленно перейдут в дружественную для javascript версию.

но да .. прогрессивное улучшение:)

0 голосов
/ 28 сентября 2010

Я думаю, вы не понимаете этот тег.Содержимое noscript будет отображаться только в том случае, если сценарий (например, JavaScript) не включен.(Большинство) Поисковые системы не могут понять JS и выполнять контент из noscript.Так что в вашем случае они следуют за URL.

Но будьте осторожны.С помощью этого метода вы можете очень быстро получить штраф.noscript чаще всего используется для показа пользователю уведомления о том, что JavaScript отключен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...