- Как определить, что JavaScript и / или Cookies отключены?
- 8 ответов
- Проверка Включён ли JavaScript
- Комментарии ( 9 ):
- Проверьте, отключен ли элемент с помощью JavaScript
- Как проверить, отключен ли элемент в JavaScript?
- Подход 1: проверьте, отключен ли элемент в JavaScript, используя свойство disabled
- Подход 2: проверьте, отключен ли элемент в JavaScript, используя метод getAttribute()
- Подход 3: проверьте, отключен ли элемент в JavaScript с помощью jQuery
- Заключение
- Как отобразить сообщение, если JavaScript отключен?
- Пример
- 2. Использование метода meta refresh
Как определить, что JavaScript и / или Cookies отключены?
Как обнаружить, что JavaScript или Cookies отключены в браузере пользователя и уведомить его любая помощь?
8 ответов
Для проверки файлов cookie вы можете использовать:
function checkCookie() < var cookieEnabled = navigator.cookieEnabled; if (!cookieEnabled)< document.cookie = "testcookie"; cookieEnabled = document.cookie.indexOf("testcookie")!=-1; >return cookieEnabled || showCookieFail(); > function showCookieFail() < // do something here >// within a window load,dom ready or something like that place your: checkCookie();
И для проверки JavaScript используйте тег с каким-то сообщением внутри
Зачем тестировать этот typeof navigator.cookieEnabled==»undefined» ? Не будет ли правильно, что navigator.cookieEnabled на самом деле был установлен как ложный тип?
Это не будет работать с IE с параметром конфиденциальности, установленным на High . В этом режиме navigator.cookieEnabled имеет значение true но document.cookie всегда пуст. Лучше всего удалить первый тест checkCookie (): function checkCookie()
Эта проверка не выполняется в Safari 9. См. Github.com/Modernizr/Modernizr/commit/… для лучшего решения.
Обновление (25.06.18):
Многие из этих постов, в том числе и мои, взяты из Модернизра. Все они в конечном итоге устареют, когда код Modernizr будет обновлен.
Я думаю, что лучшим ответом на этот вопрос должно быть использование Modernizr напрямую.
Оригинальный ответ (5/11/17):
Это взято прямо из Modernizr и работает в большем количестве браузеров, чем другие решения в этом посте.
Так как обнаружение cookie не работает в IE 11, я предлагаю подход Modernizr:
function areCookiesEnabled() < try < document.cookie = 'cookietest=1'; var cookiesEnabled = document.cookie.indexOf('cookietest=') !== -1; document.cookie = 'cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT'; return cookiesEnabled; >catch (e) < return false; >>
/** * @hasCookies: Check if cookie are Enabled * @param '' * @return true|false */ function hasCookies()
if (navigator.cookieEnabled) < document.write("Cookies Enabled"); >else
Check if Cookies Enabled in Your Browser:
Предполагая, что JavaScript включен, это скажет вам, включены ли куки или нет. Работает в старых браузерах.
// returns 1 or 0 instead of true or false. Returns null if inconclusive. function cookiesEnabled() < var i, j, cookies, found; document.cookie = 'testcookiesenabled=1'; for (i=0; i if (cookies[j].indexOf('testcookiesenabled=')==0) < found = true; break; >> if (!found) < return i; >// Delete test cookie. document.cookie = 'testcookiesenabled=; expires=Thu, 01 Jan 1970 00:00:01 GMT'; > // Results inconclusive. >
Для отображения сообщения только когда JavaScript отключен используйте
Эта функция может просматривать сообщения об ошибках для пользователей, а также останавливать выполнение скрипта и возвращать статус файлов cookie.
function IS_Cookies_Enabled(Show_Message, Stop_Script) < if(Show_Message == undefined)< Show_Message = true; >if(Stop_Script == undefined) < Stop_Script = false; >var Cookie_Status = navigator.cookieEnabled; if (!Cookie_Status) < document.cookie = "Test"; Cookie_Status = document.cookie.indexOf("Test") != -1; // Delete test cookies document.cookie = "Test=1; expires=Thu, 01-Jan-1970 00:00:01 GMT"; >if((!Cookie_Status) && (Show_Message)) < document.getElementsByTagName('body')[0].innerHTML = "Cookies Required
Cookies are not enabled on your browser.
Please enable cookies in your browser preferences to continue.
Sylingo"; > if((!Cookie_Status) && (Stop_Script)) < throw new Error('Cookies is disabled'); >return Cookie_Status; >
IS_Cookies_Enabled(true, true); // Will stop script and view error message IS_Cookies_Enabled(true, false); // Just view error message $Cookies_Status = IS_Cookies_Enabled(false, false); // return cookies status
А для проверки JavaScript используйте:
Проверка Включён ли JavaScript
Как бы это странно не казалось, но ещё существуют пользователи, которые отключают JavaScript. И большинство Web-мастеров просто «забивают» на них, однако, иногда хочется дать совет, чтобы пользователь включил JavaScript. И вот как сделать проверку: «Включён ли JavaScript», и если нет, то вывести строку с просьбой включить, я расскажу в этой статье.
Код, приведённый ниже, необходимо разместить внутри тега body:
Немного поясню этот код. Если у пользователя JavaScript включён, то метод write() сработает и выведет строку. Если же JavaScript отключён, то весь тег script будет проигнорирован. Однако, дальше идёт тег noscript. Данный тег содержит элементы, которые будут показаны браузером, если JavaScript отключён. То есть содержимое тега noscript показывается, когда отключён JavaScript, а когда включён, то пользователь noscript не видит.
Именно таким нехитрым образом, Web-мастера часто пишут: «Включите, пожалуйста, JavaScript«, либо выводят какие-то красивые картинки с аналогичной просьбой, либо ещё что-нибудь, ведь внутри тега noscript можно помещать любые HTML-теги. И теперь Вы можете применить полученные знания и на своём сайте, ведь не секрет, что сейчас не так просто найти сайт, который бы вообще не использовал JavaScript.
Создано 17.06.2011 14:50:25
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 9 ):
Большое спасибо за эту статью!
Михаил спасибо! Новичкам типа меня приятно понимать, что есть люди, которые заботятся о них 🙂
Михаил, А вы используете библиотеку JQuery для JavaScript» Не могли бы вы сделать уроки по ней в будущем?
Возможно, в дальнейшем такой урок появится.
Привет Если пишу скрипты в голове, то все браузеры работают нормально. Стоит только переместить скрипты в файл «js», ОПЕРА перестает восмпринимать скрипты, а хром продолжает работать коректно. Что это?
Скорее всего, где-то допустили ошибку, а хром просто кэширует страницу.
Прекрасные статьи. Читаю все с огромным удовольствием.
Проверьте, отключен ли элемент с помощью JavaScript
В процессе обновления веб-страницы или сайта время от времени необходимо отключать определенные функции. И наоборот, включение отключенных функций для использования текущих ресурсов. В таких случаях проверка того, отключен ли элемент с помощью JavaScript, помогает эффективно обращаться к элементам, тем самым экономя время разработчика.
Этот блог иллюстрирует концепции проверки того, отключен ли элемент с помощью JavaScript.
Как проверить, отключен ли элемент в JavaScript?
Чтобы проверить, отключен ли элемент в JavaScript, примените следующие подходы:
Давайте обсудим заявленные подходы один за другим!
Подход 1: проверьте, отключен ли элемент в JavaScript, используя свойство disabled
“неполноценный” отключает связанный элемент. Это свойство можно использовать вместе с условием для проверки извлеченного элемента на соответствие установленному требованию и выполнения соответствующего условия.
Пример
Давайте рассмотрим следующий пример:
= «текст/javascript» >
позволять получать = документ. получитьэлементбиид ( Исдис ) ;
если ( получать . неполноценный ) <
консоль. бревно ( ‘Элемент отключен!’ ) ;
>
еще <
консоль. бревно ( «Элемент не отключен!» ) ;
>
сценарий >
В приведенном выше фрагменте кода:
- Укажите “вход” текстовое поле с отключенными атрибутами, идентификатором и заполнителем соответственно.
- В коде JS получите доступ к включенному элементу через его «идентификатор» используя «получитьэлемент по идентификатору()метод.
- После этого свяжите «неполноценный» с выбранным элементом, чтобы применить условие для заявленного требования.
- При выполнении условия выполняется предыдущее условие.
- В другом сценарии сообщение против «еще” будет отображаться условие.
В приведенном выше выводе видно, что элемент поля ввода текста отключен, что видно в объектной модели документа (DOM) и консоли соответственно.
Подход 2: проверьте, отключен ли элемент в JavaScript, используя метод getAttribute()
“получить атрибут()» возвращает значение атрибута элемента. Этот метод можно применять для выполнения заявленного требования путем определения местоположения соответствующего атрибута в элементе.
элемент. получить атрибут ( имя )
В приведенном выше синтаксисе:
Пример
Следующий пример иллюстрирует изложенную концепцию:
< центр > < тело >
< идентификатор кнопки = "Исдис" неполноценный = "истинный" >Нажми на меня кнопка >
тело >центр >
< тип сценария = "текст/javascript" >
позволять получать = документ. получитьэлементбиид ( Исдис ) ;
если ( получать . получить атрибут ( ‘неполноценный’ ) ) <
консоль. бревно ( «Элемент отключен!» ) ;
>
еще <
консоль. бревно ( «Элемент не отключен!» ) ;
>
сценарий >
В приведенных выше строках кода:
- Во-первых, включите «кнопка» элемент, имеющий атрибуты «идентификатор» и «неполноценный«, соответственно. Здесь присвойте логическое значение «истинный” к отключенному атрибуту.
- В коде JavaScript получите доступ к включенному элементу кнопки с помощью «получитьэлемент по идентификатору()», как обсуждалось.
- Теперь примените «получить атрибут()», чтобы найти атрибут «отключен» в выбранном элементе на предыдущем шаге.
- Точно так же соответствующие условия будут выполняться для удовлетворенных и неудовлетворенных требований.
Как видно выше, кнопка отключена в DOM, как и соответствующее сообщение в консоли.
Подход 3: проверьте, отключен ли элемент в JavaScript с помощью jQuery
“jQuery” может быть реализован для прямого доступа к включенному элементу и проверки определенного атрибута.
Пример
Давайте рассмотрим приведенный ниже пример:
Выполните указанные шаги в приведенных выше строках кода:
- Во-первых, включите элемент текстовой области с указанными атрибутами.
- Также укажите «jQuery», чтобы использовать ее функциональные возможности.
- В коде JS получите доступ к элементу на первом шаге по его «идентификатор» напрямую.
- После этого свяжите «атрибут()” с выбранным элементом таким образом, что указанный атрибут в его параметре находится в элементе.
- Наконец, соответствующее сообщение будет отображаться в диалоговом окне предупреждения.
Выход
При проверке соответствующий элемент оказался отключенным в приведенном выше выводе.
Заключение
“неполноценныйимущество, «получить атрибут()«метод» или «jQuery” можно использовать для проверки того, отключен ли элемент с помощью JavaScript. Свойство disabled может быть реализовано вместе с условием для применения проверки к элементу, к которому осуществляется доступ. Метод getAttribute() выполняет указанное требование, находя соответствующий атрибут внутри элемента. В то время как подход jQuery обращается к элементу и аналогичным образом проверяет наличие в нем определенного атрибута. В этом руководстве объясняется, как проверить, отключен ли элемент в JavaScript.
Как отобразить сообщение, если JavaScript отключен?
Сегодня почти все веб-страницы используют JavaScript, и их полноценное функционирование зависит именно от этого языка программирования. Веб-сайт, возможно, не будет доступен, если JavaScript отключен. Но многие пользователи отключают JavaScript в своих браузерах в целях безопасности. Поэтому нужно убедиться, что ваша веб-страница все равно будет хорошо работать, даже если JavaScript отключен. Кроме этого, проверка должна быть проведена и на стороне клиента, и на стороне сервера. Если у вас есть контент, который не будет функционировать без JavaScript, вам понадобится отобразить сообщение об ошибке. В этой статье мы рассмотрим два простых метода для отображения контента при отключенном состоянии JavaScript.
1. Использование HTML тега
Когда JavaScript отключен, мы можем использовать тег , чтобы отобразить предупреждающее сообщение и скрыть весь контент с помощью CSS.
Это будет выглядеть следующим образом:
Давайте рассмотрим пример:
Пример
html> html> head>Заголовок документа head> body> h1>Пример тега noscript h1> noscript> h2>Javascript отключен в вашем веб-браузере. Некоторые функции не будут хорошо работать. h2> style type="text/css"> #main-content < display:none; > style> noscript> div id="main-content"> h2>JavaScript включен! h2> div> body> html>
2. Использование метода meta refresh
Многие разработчики предлагают другой метод отображении контента при отключенном состоянии JavaScript. В этом случае вам просто понадобится перенаправить пользователя на страницу, где будет возможно отображение сообщения о том, что JavaScript отключен. Для этого можно использовать метод meta refresh, который содержит HTML тег с параметром http-equiv, установленный в «refresh», и параметром контента (content), указывающий промежуток времени в секундах, т. е. он перенаправит пользователя на другую страницу в указанном в header промежутке времени. Устанавливая промежуток времени для refresh в 0 (или ниже), meta refresh может быть использован как метод перенаправления URL. Он выглядит следующим образом:
META HTTP-EQUIV="Refresh" CONTENT="0;URL=ShowErrorPage.html"> noscript>
Как видите. так как JavaScript отключен на этой странице. браузер перенаправляет на “ShowErrorPage.html”, где будет паказано предупреждающее сообщение.