Как узнать включен ли javascript в браузере php

Обновлено: 02.07.2024

Есть ли способ проверить, включен ли JavaScript с PHP? Если да, то как?

Нет, это невозможно, потому что PHP - это серверный язык, он не имеет доступа к браузеру клиента каким-либо образом или форме (запросы клиента с сервера PHP).

возможно более простой вариант.

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

На странице PHP на сервере выводится (для краткости было удалено много HTML)

Затем в myPage.php установите переменную сеанса, чтобы указать, что клиент поддерживает JS

Но на самом деле просто используйте теги <script></script><noscript></noscript> , гораздо меньше усилий.

//Вот решение: // работает отлично

//И затем внутри get-javascript-status.php:

$js_capable = get_browser(null, true)=>javascript == 1

Сказав это, вероятно, не очень много. Вы должны пересмотреть обнаружение JS из PHP. Там не должно быть необходимости, если вы используете прогрессивное улучшение, что означает, что JS добавляет только функциональность к тому, что уже на странице.

Вот небольшая часть, которую я составил, что у меня поверх моих страниц, чтобы определить, включен ли js. Надеюсь, это поможет.

Вы можете попробовать с помощью 2 метод:

  • настройка файлов cookie с помощью JS и обнаружение их из PHP
  • создание формы со скрытым полем и пустым значением; а затем присваивает ему некоторое значение с помощью JS, если поле получает значение - JS ВКЛЮЧЕН, иначе его отключить. Но форма должна была быть представлена ​​первой, прежде чем PHP сможет запросить значение скрытых полей.

если вы хотите определить, разрешить ли JS включить настройку перед загрузкой страницы, которую вы можете попробовать (я не знаю, если она работает):

Поместите выше код в свой файл заголовка после тега заголовка и установите для него подходящее значение как [disable.html].

перед попыткой отключить браузер javascript.

Попробуйте этот код:

Напишите что-нибудь в script -disabled.html

Чтобы избавиться от ботов с отключенным JS:

Никто не может использовать, например, curl -H "Cookie: JSEnabled = XXXXXXXXXXXXXXXXXX" потому что они не знают вашего алгоритма вычисления хеша.

Я копирую/вставляю его здесь

В последнее время у меня была следующая дилемма:

Я использую функцию PHP, которая генерирует QR-изображение, связанное с текущим URL-адресом, что очень полезно для мобильных устройств. Функция работает нормально, но имея мой сайт на общем хостинге, есть некоторые ограничения на использование ЦП и ОЗУ. Эта функция тяжелая, и она потребляет много процессорного времени и оперативной памяти, поэтому ребята-хостинг попросили меня уменьшить использование.

После некоторых попыток я, наконец, дошел до идеи, что я могу сэкономить использование процессора и ОЗУ от ботов в поисковых системах. Трудно распознать бота по идентификатору браузера, но все боты не имеют JS, и что основные критерии, которые я использовал, чтобы определить, является ли он настоящим браузером или это бот. Чтобы объяснить, насколько важно предотвращать выполнение кода, который ничего не даст для поисковых систем (QR, в моем случае, не влияет на поисковые системы), могу сказать, что только бот Google, например, составляет около 16000 обходов в день на моем сайт.

Итак, я сделал очень простую вещь, которая очень помогла:

Этот код использует JS для записи строки PHP-кода, поэтому эта строка будет записана только при включенном JS.

Из couse вы можете использовать тег "noscript", если хотите показать что-то, когда JS отключен, но этот метод показывает, как выполнить некоторый PHP только при включенном JS.

есть ли способ проверить, включен ли JavaScript с PHP? Если да, то как?

нет, это невозможно, потому что PHP является языком на стороне сервера, он не имеет доступа к браузеру клиента каким-либо образом или в форме (клиент запрашивает с сервера PHP).

возможно, более простой вариант.

технически нет, потому что, как сказали другие ответы, PHP строго на стороне сервера, но вы можете это сделать.

на странице PHP на сервере вывод (много HTML было удалено для краткости)

затем в myPage.php установите переменную сеанса, чтобы указать, что клиент поддерживает JS

но на самом деле, просто использовать <script></script><noscript></noscript> теги, гораздо меньше усилий.

//вот решение: // он работает идеально

//, а затем внутри get-javascript-status.на PHP :

$js_capable = get_browser(null, true)=>javascript == 1

сказав это, это, вероятно, не имеет большой пользы. Вы должны пересмотреть обнаружение JS из PHP. Нет необходимости, если вы используете постепенное повышение, что означает, что JS только добавляет функциональность к тому, что уже на странице.

вы можете попробовать с 2 Метод:

Если вы хотите обнаружить, если JS enable enable перед загрузкой страницы вы можете попробовать это (я не konw, если он работает):

вот небольшое включение, которое я составил, что у меня есть поверх моих страниц, чтобы определить, включен ли js. Надеюсь, это поможет.

поместите выше кода в файл заголовка после тега заголовка и установите соответствующий, как[disable.html] для перенаправления.

перед попыткой вы должны отключить браузеры javascript.

попробуйте этот код :

напишите что-нибудь в скрипте-отключено.HTML-код

я копирую / вставляю его здесь

недавно у меня была дилемма:

Я использую функцию PHP, которая генерирует QR-изображение, связанное с текущим URL-адресом, что очень полезно для мобильных устройств. Функция работает нормально, но имея мой сайт на общем хостинге, есть некоторые ограничения для использования CPU и RAM. Эта функция тяжелая, и она потребляет много времени процессора и оперативной памяти, поэтому ребята хостинга попросили меня уменьшить использование.

после некоторых попыток я, наконец, пришел к идее, что я могу сохранить некоторые Использование CPU & RAM от поисковых роботов. Трудно распознать бота по идентификации браузера, но у всех ботов нет JS, и это основные критерии, которые я использовал, чтобы определить, является ли это реальным браузером или это бот. Чтобы объяснить, насколько важно предотвратить выполнение кода, который не даст ничего больше для поисковых систем (QR, в моем случае, не влияет на поисковые системы), я могу сказать, что просто Google bot, например, делает около 16000 обходов в день на моем сайте.

Я сделал это очень простая вещь, которая очень помогла:

этот код использует JS для записи строки PHP-кода, поэтому эта строка будет записана только тогда, когда JS включен.

couse вы можете использовать тег 'noscript', если хотите показать что-то, когда JS отключен, но этот метод показывает, как выполнить некоторый PHP только тогда, когда JS включен.

Есть ли способ проверить, включен ли JavaScript с PHP? Если так, то как?

Нет, это невозможно, поскольку PHP является языком на стороне сервера, он никоим образом не обращается к браузеру клиента (клиент запрашивает сервер PHP).

Вы можете установить cookie, используя Javascript, а затем перезагрузить страницу, используя Javascript. Затем, используя PHP, вы должны проверить, установлен ли файл cookie, включен ли Javascript!

Если проверка при первой загрузке страницы, это может запустить php, если javascript отключен:

Вы можете использовать логику и логику (по умолчанию / переключатель) - в этом примере я напечатал переменную в php:

JS: (в моем документе готово)

Именно так я проверяю, включены ли javascript и cookie-файлы, или нет

Я копирую / вставляю это здесь

Вот небольшое включение, которое я сделал, которое у меня есть на моих страницах, чтобы определить, включен ли js. Надеюсь, это поможет .

Так как PHP на стороне сервера, вы не можете знать в PHP, включен ли на клиенте Javascript, если вы не используете сеансы (или какой-либо другой способ хранения данных между запросами) и сначала отправляете некоторый код, на который клиент отвечает.

Если вы поместите следующее в начало вашего PHP-файла, клиент будет перенаправлен на тот же URL-адрес, к которому будет добавлен js = 0 или js = 1, в зависимости от того, включен Javascript или нет. После получения перенаправленного запроса сценарий записывает результат в переменную сеанса, а затем перенаправляет обратно на исходный URL-адрес, то есть без добавленного «js = 0» или «js = 1». При получении этого второго перенаправления сценарий выполняется как обычно, теперь с переменной сеанса, установленной в соответствии с возможностями Javascript клиентов.

Технически нет, потому что, как сказали другие ответы, PHP строго на стороне сервера, но вы могли бы сделать это .

На странице PHP на сервере вывод (для краткости удален большой объем HTML)

Затем в myPage.php установите переменную сеанса, чтобы указать, что клиент поддерживает JS

Но на самом деле, просто используйте теги <script></script><noscript></noscript> , гораздо меньше усилий .

Прежде чем пытаться вы должны отключить JavaScript в браузерах .

Попробуйте этот код:

Напишите что-нибудь в script-disabled.html

Убедитесь, что у вас установлена последняя версия jQuery.js

ОБНОВЛЕНО: . Я разработал этот сценарий, потому что я тестирую некоторые из приведенных здесь примеров, и кажется, что все делают копирование без каких-либо тестов. Код также находится в Гисте сильный > обновляется )

Это решение не требует больше файлов, просто итерация, если вы запускаете браузер с поддержкой Javascript. Значение передается обратно в PHP с помощью GET с простой переменной, но любой может подделать вывод, выполнив cURL для url +? Sessionstart = 1, если вы не добавите в него больше логики.

Вы не можете определить, поддерживает ли JS браузер, но вы можете сказать, поддерживает ли браузер JS прогрессивное улучшение, что означает, что JS только добавляет функциональность к тому, что уже есть на странице.

Поместите вышеуказанный код в заголовочный файл после тега title и установите соответствующий параметр [disable.html] для перенаправления.

Возможно, более простой вариант .

Вы можете попробовать с 2 метода:

Если вы хотите определить, активировать ли JS параметр enable перед загрузкой страницы, вы можете попробовать это (я не знаю, работает ли это):

С помощью этого базового AJAX вы можете разделять данные, которые видит клиент, на основе JavaScript или нет.

index.php

Если вы сделаете это, автоматически отобразится HTML-код для браузеров, не поддерживающих js, а затем браузеры, поддерживающие js, увидят только сайт js.

Если вас беспокоит чрезмерное увеличение размера страницы из-за слишком большой разметки, то вы можете сделать то же самое, но вместо этого оставить <div ></div> пустым, а затем с помощью кода js вместо простого показа div использовать вызов ajax для получить содержание для этого.

Кстати, я бы, вероятно, включил дополнительные файлы css для сайта не-js в тег noscript, чтобы сэкономить на пропускной способности.

Чтобы избавиться от ботов с отключенным JS:

Никто не может использовать, например, curl -H «Cookie: JSEnabled = XXXXXXXXXXXXXXXXXX», потому что они не знают вашего алгоритма вычисления хэша.

Недавно у меня была следующая дилемма:

Я использую функцию PHP, которая генерирует изображение QR, связанное с текущим URL, что очень полезно для мобильных устройств. Функция работает нормально, но, имея мой сайт на общем хостинге, есть некоторые ограничения на использование процессора и оперативной памяти. Эта функция слишком тяжелая и потребляет много процессорного времени и оперативной памяти, поэтому ребята из хостинга попросили меня уменьшить использование.

После нескольких попыток я, наконец, пришел к мысли, что могу сэкономить некоторое использование процессора и оперативной памяти от роботов поисковых систем. Трудно распознать бота по идентификатору браузера, но у всех ботов не включена поддержка JS, и это основные критерии, которые я использовал для определения, является ли это настоящим браузером или ботом. Чтобы объяснить, насколько важно предотвратить выполнение кода, который больше ничего не даст для поисковых систем (QR, в моем случае, не влияет на поисковые системы), я могу сказать, что только бот Google, например, выполняет около 16000 обходов в день на моем сайт .

Итак, я сделал эту очень простую вещь, которая очень помогла:

Этот код использует JS для написания строки кода PHP, поэтому эта строка будет написана только тогда, когда JS включен.

Конечно, вы можете использовать тег 'noscript', если хотите что-то показать, когда JS отключен, но этот метод показывает, как выполнить некоторый PHP, только когда JS включен.

Подскажите можно ли как то средствами php проверить включен ли у юзера js, примерно как то так:

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Проверка на включение, множества
Есть двусвязный список в котором объявляем 2 множества, и нужно организовать проверку на включение.

Проверка radioButton на включение и выключение
Есть 3 radioButton. Сделал условную конструкцию которая проверяет включения radioButton,но если не.

Включение пункта меню после включение чекбокса
Как правильно сделать, чтобы наличие галочки screenTimeOutTile пункта настроек включало неактивный.

Что быстрее, проверка на null, или проверка на тип перечисления в запросе?
вопрос такой. если несколько таблиц. сходных по структуре в запросе. в первой таблице .

На сервере нельзя. Браузеры не посылают никакую информацию об этом. но если это в body написано, то по идее он выдаст надпись alert("HI") Hagrael, это не проверка, это просто код. Если JS отключен, то ничего не произойдет.

А что эта тема делает в разделе js? Её бы в PHP.

У PHP есть функция, которая считывает файл browscap.ini ( естественно на стороне клиента ) и возвращает список возможностей браузера. Имя ей get_browser ();
В качестве дополнительных параметров этой функции можно передать user_agent и флаг true , если вернуть нужно массив ( по умолчанию вроде объект ). Подробнее на официальном сайте PHP по адресу: get_browser

Добавлено через 26 секунд

P.S. давайте тему в раздел PHP

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

Vovan-VE, мда. с английским у меня проблемы. Теперь буду юзать какой-нибудь переводчик, что бы не повторять подобного.

Добавлено через 1 минуту

Таким образом, получается, что использование этой функции лишено смысла. Сейчас сложно найти браузер, который не поддерживает куки, js и т.п. romchiksoad, не думаю, что в старых браузерах поддерживается ответ "Не знаю JavaScript'a" Hagrael, такие браузеры вряд ли кто-то использует. Даже у лентяя стоит как минимум шестой ослик. Хотя. Если брать во внимание наши учебные заведения, то там возможно и на четвертом остановились. А если взять, к примеру, браузер в мобильнике. Какой там вообще JS! О_о Кто об этом задумывается?

romchiksoad, я тож так считаю.

Добавлено через 52 секунды
Vovan-VE, в этом я не силён. В мобильниках ведь отдельный нэт или. нет?

Hagrael, Интернет - он и в Африке интернет.

Vovan-VE, Hagrael, ребят, я не знаю как у Вас, но в моем Nokia6288, есть даже функция включения/отключения сценариев JavaScript.
P.S. Давайте прекратим офтопить

Дело в том что у меня на сайте все запросы к серверу через ajax и js. И если пользователь умышленно или не умышленно отключит ява скрипт он получит не сайт а куски кода. Или даже если заходить на сайт с телефона (без поддержки js).

В общем задача кинуть пользователя (у которого отключен js) на грубо говоря мобильную версию сайта. Это возможно?

Возникает такая мысль. В теории, должно работать корректно. На практике не знаю.

Как вариант, я предлагаю написать js-функцию, которая будет через аякс посылать запрос серверу. Если JavaScript включен, то php-скрипт, который принимает этот запрос от аякс будет кидать пользователю версию с js-кодом. В противном случае, запрос вообще не будет отправлен серверу и по умолчанию нужно загрузить версию сайта без js. Вот так вот как-то Возможно кто-то лучше найдет решение этой проблемы.

Добавлено через 32 секунды
Даже раньше меня это нашли

Добавлено через 8 минут
Vovan-VE, но по моему, <noscript>. </noscript> работает только в <body>. </body>, т.к. его задача вывести текст, который помещен в него, в случае, если в браузере отключена поддержка ( или просто не поддерживает ) js и другого клиентского языка программирования. Но думаю, что ничего страшного все равно не произойдет. Максимум не валидный код.

Проверка Включён ли JavaScript

Как бы это странно не казалось, но ещё существуют пользователи, которые отключают JavaScript. И большинство Web-мастеров просто "забивают" на них, однако, иногда хочется дать совет, чтобы пользователь включил JavaScript. И вот как сделать проверку: "Включён ли JavaScript", и если нет, то вывести строку с просьбой включить, я расскажу в этой статье.

Код, приведённый ниже, необходимо разместить внутри тега body:

<script type="text/javascript">
document.write("У Вас включён JavaScript!");
</script>
<noscript><span>У Вас отключён JavaScript. </span></noscript>

Немного поясню этот код. Если у пользователя JavaScript включён, то метод write() сработает и выведет строку. Если же JavaScript отключён, то весь тег script будет проигнорирован. Однако, дальше идёт тег noscript. Данный тег содержит элементы, которые будут показаны браузером, если JavaScript отключён. То есть содержимое тега noscript показывается, когда отключён JavaScript, а когда включён, то пользователь noscript не видит.

Именно таким нехитрым образом, Web-мастера часто пишут: "Включите, пожалуйста, JavaScript", либо выводят какие-то красивые картинки с аналогичной просьбой, либо ещё что-нибудь, ведь внутри тега noscript можно помещать любые HTML-теги. И теперь Вы можете применить полученные знания и на своём сайте, ведь не секрет, что сейчас не так просто найти сайт, который бы вообще не использовал JavaScript.


Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

Комментарии ( 9 ):

Большое спасибо за эту статью!

Михаил спасибо! Новичкам типа меня приятно понимать, что есть люди, которые заботятся о них :)

Михаил, А вы используете библиотеку JQuery для JavaScript" Не могли бы вы сделать уроки по ней в будущем?

Возможно, в дальнейшем такой урок появится.

Привет Если пишу скрипты в голове, то все браузеры работают нормально. Стоит только переместить скрипты в файл "js", ОПЕРА перестает восмпринимать скрипты, а хром продолжает работать коректно. Что это?

Читайте также: