У меня есть страница, которая создавалась динамически.
Теперь я хочу добавить функцию ajax, поэтому я хочу добавить оператор if для изменения выходов.
if(js is on){ ... ... echo "js is on"; }else{ ... echo "js is off"; }
Есть ли способ обнаружить, что js включен с php?
Или я могу удалить / скрыть его jQuery?
Заранее спасибо.
PHP выполняется до того, как произойдет какое-либо действие браузера, поэтому нет, PHP не может напрямую определить, включен или выключен Javascript.
Вы должны предоставить немного больше информации о том, что вы делаете для нас, чтобы найти обходной путь. В PHP можно определить, был ли вызов выполнен с помощью AJAX или не используется глобальная переменная $_SERVER['X_HTTP_REQUESTED_WITH']
которую jQuery будет устанавливать автоматически.
Если вам нужно показать элемент, когда включен Javascript, вы можете сначала скрыть элемент с помощью CSS и включить его с помощью Javascript / jQuery. То же самое происходит и наоборот.
Вы не можете сделать это на PHP, потому что страница отображается в момент, когда вы знаете. И, кроме какого-то сумасшедшего сценария переадресации, лучше всего использовать CSS + JS, чтобы показать / скрыть то, что вам нужно:
То, что я обычно делаю (и ваш пробег может варьироваться в зависимости от того, что вам нужно показать / скрыть):
<html> <head> ... other stuff here, title, meta, etc ... <script type="text/javascript">document.documentElement.className += " js"</script> ... everything else </head>
Затем вы можете использовать CSS, чтобы скрыть / показать на основе, если JavaScript включен / отключен:
/* Hide by default, show if JS is enabled */ #needsJS { display: none } .js #needsJS { display: block } /* Show by default, hide if JS is enabled */ .js #fallback { display: none }
Он не может сделать это напрямую, и обходные пути для него обычно неудобны и расточительны.
Вместо этого используйте прогрессивную технику улучшения.
Просто сделайте сайт работать без JS. Если все в порядке, вы можете подключить JS-функцию, например, jQuery.
Это также называется ненавязчивым JavaScript .
Таким образом, вы в основном не различаете клиент с JS и клиентом без JS. Вы не предоставляете разные выходные данные. Вы настроили свой HTML-код таким образом, чтобы вы могли легко идентифицировать элементы, которые должны были бы использовать функциональность JS в этой программе программным способом.
Этот способ еще проще для вас, так как вам не нужно думать о разных выходах, и это гарантирует, что сайт также работает без JS.