Проверьте, включен ли Javascript

Есть ли способ проверить, включен или поддерживается Javascript в браузере? Если он не поддерживается, я хотел бы перенаправить пользователя на удобную страницу ошибок.

Я использую jQuery и PHP Zend Framework.

Related of "Проверьте, включен ли Javascript"

<noscript><meta http-equiv="refresh" content="1;url=error.html"></noscript> 

Это приведет к перенаправлению на страницу с ошибкой, если скрипт отключен. Просто замените error.html URL-адресом страницы с ошибкой.

В качестве еще одного варианта вы можете (хотя для этого требуется вторая страница) использовать javascript для установки cookie.

Если файл cookie существует на стороне сервера (у них есть javascript), он отображает страницу как обычно. Во время отсутствия cookie вы можете либо использовать перенаправление Location , либо отобразить соответствующий шаблон [урезанный], чтобы учесть их отсутствие поддержки javascript.

страница html

 <script type="text/javascript"> document.cookie = 'hasJS=true'; </script> 

page php

 if (isset($_COOKIE['hasJS'])){ // normal page render }else{ header('Location: http://mysite.com/index-nojs.php'); } 

Независимо от того, включен или нет javascript, известен только из контекста браузера, поэтому лучше всего написать код браузера, чтобы установить флаг, основанный на том, включен ли javascript или нет. Одна из возможностей – сделать что-то вроде

 <noscript><img src="/javascript_disabled.php"></noscript> 

а также

 // contents of javascript_disabled.php $_SESSION['javascript_disabled'] = 1; 

По умолчанию отправьте версию без javascript. Там вы добавили небольшой кусок javascript, который перенаправляется на динамическую версию. Это будет выполняться только при включенном js.

Вы можете сделать простую «целевую страницу» для пользователей без javascript и добавить перенаправление javascript к версии сайта с поддержкой javascript.

Что-то вроде этого:

 ... <html> ... <script type="text/javascript"> window.location.replace("/hasjs"); </script> 

Кусок пирога!

Включите всю страницу Javascript в один DIV.

Наложите второй DIV равного размера, который содержит вашу страницу, отличную от Javascript. Дайте этому DIV id и высокий индекс z:

 div id="hidejs" style="z-index: 200" 

В этом втором не-JS DIV ваш первый код должен быть Javascript, который отображает видимость DIV для скрытия:

 document.getElementById.("hidejs").style.visibility = "hidden"; 

Нет Javascript включен? Ничего не произойдет, и они увидят вышележащую страницу без Javascript.

Включен Javascript? Верхняя страница, не относящаяся к Javascript, станет невидимой, и они увидят основную страницу Javascript.

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

Используйте теги <noscript> для включения мета-перенаправления, если на странице нет JavaScript.

Теги <noscript> вызывают, когда браузер, подключенный к странице, не имеет JavaScript.

Выведите пользователя на страницу с ошибкой по умолчанию и выполните переадресацию javascript в разделе страницы. Переадресация перенаправляет пользователя на настоящую страницу.

Если у них нет javascript, они не будут перенаправлены, а остальная страница (страница с ошибкой) загрузится.

Да. Сделайте у вас последний jQuery.

Javascript:

 $(function(){ $('#jsEnabled2').html('Yes it is') }) 

PHP:

 $js - 'No'; $jscheck = 'Javascript Enabled: '; $jscheck .= '<span id="jsEnabled">'.$js.'</span>'; print $jscheck;