Разве мы не должны использовать элемент <noscript>? - PullRequest
65 голосов
/ 31 января 2010

Я нашел здесь несколько хороших минусов:

  • Элемент noscript определяет только, включен ли в браузере JavaScript или нет.Если JavaScript отключен в брандмауэре, а не в браузере, JavaScript не будет работать, и содержимое элемента noscript не будет отображаться.

  • Многие сценарии зависят от конкретной функцииили возможности поддерживаемого языка, чтобы они могли работать (например, document.getElementById).Если требуемые функции не поддерживаются, JavaScript не может быть запущен, но поскольку поддерживается сам JavaScript, содержимое noscript не будет отображаться.

  • Самое полезное место для использования элемента noscript - этозаголовок страницы, где можно было бы выборочно определить, какие таблицы стилей и метаэлементы применяются к странице при загрузке страницы, а не ждать загрузки страницы.К сожалению, элемент noscript действителен только в теле страницы и поэтому не может использоваться в заголовке.

  • Элемент noscript является элементом уровня блока и, следовательно, может использоваться только для отображенияцелые блоки контента, когда JavaScript отключен.Его нельзя использовать встроенным.

  • В идеале веб-страницы должны использовать HTML для содержимого, CSS для внешнего вида и JavaScript для поведения.Использование элемента noscript - это применение поведения изнутри HTML, а не его применение из JavaScript.

Источник: http://javascript.about.com/od/reference/a/noscriptnomore.htm

Я очень согласен с последним пунктом.Есть ли способ сделать и добавить внешний <noscript> файл?Должны ли мы поместить <noscript> в <head>?

Ответы [ 11 ]

0 голосов
/ 13 ноября 2010

Я рекомендую вам не использовать <noscript>, вы можете использовать следующий код:

<HTML>
<head>
<script>
     window.location="some-page.php";
</script>
</head>
<body>
<p>
    Please active JavaScript .
</p>
</body>
</HTML>

, если при каких-либо обстоятельствах JS не включен, сообщение будет отображено, в противном случае пользователь будет перенаправлен на страницу назначения.

...