Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Включен ли javascript


Автор: QApple 13.6.2009, 12:50
Знаю что баян, но ответа на нужный мне вопрос так и не нашел.

Многие рекоммендуют делать проверку с помощью <noscript>:
Код

<noscript>Java-Script Disabled</noscript>
<script>document.write("Java-Script Enabled");</script>


Очень удобно и безгеморно. Но! Этот код не работает на FF, не знаю почему. Тоесть когда яваскрипт включен - все работает, а когда в Настройках-Содержимое убираю галку с "Использовать JavaScript, сообщение Java-Script Disabled не выводится. Вообще ничего не выводится.

Как быть?

P.S. извращения типа document.cookie = 'js=1'; и последующую проверку печенья не предлагать. Хотелось бы что-то простое как <noscript> и работающее на всех браузерах

Автор: bars80080 13.6.2009, 15:42
самое простое - это отдавать пользователю html-версию страницы, вначале которой прописать: 
Код

<script>window.location.href='other_page.html';</script>

где другая страница - с javascript

Автор: ksnk 13.6.2009, 17:35
bars80080, в этом решении есть подводный камень. Если представить, что юзер с JavaScript настолько прикололся страничкой, что послал ее адрес человеку без JavaScript.
Кука, все-таки эстетичнее и меньше глюков ловить придется. Если у юзера нет кук или нет скрипта, отдавать ему plain-text вариант как поисковику, которым он, видимо, и является... Поисковикам все равно придется выдать относительно разумно выглядящую страницу, все таки поисковик - дело архиважное smile

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

Автор: bars80080 13.6.2009, 19:09
наверное

но вообще, конечно задача о существовании javascript, ИМХО, упирается в два варианта - либо это обычный пользователь со стандартными браузерами, и тогда у него 99,9% js включён, либо это пользователь из-под нестандартного оборудования, типа мобилы. тогда ему не только js, но ещё и структуру самой страницы надо скорректировать, т.е. предложить соответствующий pda- или иной сервис

Автор: I_Am_Rock 15.6.2009, 17:45
navigator.javaEnabled

Только, возможно, это показывает не отключен/включен, а допустима/недопустима java браузером вообще. Хотя хз.

И в Опере, возможно, не работает.

Автор: Aliance 16.6.2009, 08:58
I_Am_Rock, вы вопрос-то читали? JavaScript и Java это абсолютно разные вещи!

Автор: QApple 16.6.2009, 09:19
Как нистранно, вопрос с файрфоксом решился так:
Код

<body>
 <noscript>
  <strong>
    <center><b>JavaScript disabled!</b></center>
  </strong>
 </noscript>
</body>


Все работает, а больше мне и не нужно  smile 
вопрос закрыт.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)