passshift
@passshift
php, js, html5, css

Как заставить get_browser() показать javascript?

Здравствуйте!

Появилась нужна проверить включен ли JS на клиентской стороне.
Решил использовать функцию get_browser(), установил расширение brawscap, все настроил.

Использую:

$browser = get_browser(null, true);
print_r($browser);


Получаю неполный ответ:

Array ( 
[browser_name_regex] => ~^mozilla/5\.0 \(.*windows nt 6\.1.*\) applewebkit/.* \(khtml, like gecko\) chrome/48\..*safari/.*$~ 
[browser_name_pattern] => Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML, like Gecko) Chrome/48.*Safari/* 
[parent] => Chrome 48.0 
[platform] => Win7 
[comment] => Chrome 48.0 
[browser] => Chrome 
[browser_maker] => Google Inc 
[version] => 48.0 
[majorver] => 48 
[device_type] => Desktop 
[device_pointing_method] => mouse 
[minorver] => 0
[ismobiledevice] => 
[istablet] => 
[crawler] => 
)


Как видно в массиве нет информации о javascript.
Кто-нибудь знает в чем причина? Тестирую на локальном сервере, пробовал сменить браузер на IE11 и Мозилу, ответ аналогичен без javascript.

Раз уж это расширение такое баганое, что при первой проверке выдает неадекватный результат, то может кто-нибудь подскажет более стабильное решение конкретно для проверки на JS и выполнения условия в зависимости от результата проверки? Спасибо.
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
@djay
Никак. Ты не сможешь узнать включен ли JS посредтсвом PHP. Единственное решение здесь - это добавить noscript тэг, а внутри сделать редирект на какую-нибудь страницу:

...
<head>
 <noscript>
   <meta http-equiv="refresh" content="0; url=http://browsehappy.com" />
 </noscript>
..


Если JS включен - то редирект не сработает, а если выключен то соотв.сработает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы