Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   <noscript> ничего не выводит при отключенном javascript в браузере (https://javascript.ru/forum/misc/14914-noscript-nichego-ne-vyvodit-pri-otklyuchennom-javascript-v-brauzere.html)

freerun888 05.02.2011 10:47

<noscript> ничего не выводит при отключенном javascript в браузере
 
Всем привет !
У меня почем-то <noscript> ничего не выводит при отключенном javascript в браузере (пробовал во всех изестных браузерах, результат одинаков,ничего не выводит)

Вот что я хотел вывести:
<html>
<head>
<script type="text/jscript" src="external_script.js">
</script>

<noscript>
Вы не можете просмотреть данную страницу,у вас отключен JavaScript.
</noscript>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title> скрипт</title>
</head>

<body>
<h1>
Вывод при отключении сценариев
</h1>
</body>
</html>

SkyLight 05.02.2011 10:51

А зачем вы его засунули в HEAD?

hacker_007 05.02.2011 11:23

<html>
<head>
<script type="text/jscript" src="external_script.js">
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title> скрипт</title>
</head>
 <body>
   <noscript>
    Вы не можете просмотреть данную страницу,у вас отключен JavaScript.
   </noscript>
<h1>Вывод при отключении сценариев</h1>
 </body>
</html>

monolithed 05.02.2011 20:21

На самом деле этот элемент хоть и стандартизован, но его применение неформально имеет статус depricated и как следствие в XHTML Strict он запрещен. Также стоит отметить, что раньше содержимое в этом элементе индексировали ПС (может и сейчас тоже, незнаю).

Лучше всего делать так:

<div id="noscript">ВНИМАНИЕ: Ваш браузер не поддерживает работу с JavaScript!</div>

<script type="text/javascript">
document.getElementById('noscript').style.display = 'none';
</script>

Kolyaj 05.02.2011 20:45

Цитата:

Сообщение от monolithed
Лучше всего делать так:

Так будет мигать. Лучше так:

<html id="nojs">
<head>
    <script type="text/javascript">document.documentElement.id = 'js';</script>
    <style type="text/css">
        .nojs { display: none; }
        #nojs .nojs { display: block; }
    </style>
</head>
<body>
<div class="nojs">Ваш браузер не поддерживает работу с JavaScript!</div>
</body>
</html>

monolithed 05.02.2011 22:39

Цитата:

Сообщение от Kolyaj
'js'

опечатка?

Kolyaj 05.02.2011 22:41

Вроде нет.

monolithed 05.02.2011 22:44

тогда я не пойму, для чего присваивать неиспользуемый идентификатор элементу, поясните.

Kolyaj 05.02.2011 23:05

Это универсальный код. Если JS включен, то html имеет id="js", если JS выклюен == id="nojs". В результате для блока с классом foo:
* Стили для обоих режимов: .foo
* Стили для режима с выключенным JS: #nojs .foo
* Стили для режима с включенным JS: #js .foo

monolithed 05.02.2011 23:38

не сразу понял, что id специально затирается, лучше (меньше операций и ясней) тогда уж так:
document.documentElement.id = '';


Часовой пояс GMT +3, время: 12:26.