javascript — установка переменной PHP в & lt; noscript & gt;

Нечто подобное ниже не работает:

<?php $nojs = false; ?>
<noscript>
<?php $nojs = true; ?>
</noscript>

Поскольку PHP выполняется независимо от того, включен JS или нет. Но есть ли способ получить подобный эффект? Я пытаюсь установить флаг, если JS отключен, и затем отображать части страницы соответственно.

2

Решение

PHP выполняется до JavaScript, поэтому вы не можете сделать это. Вы можете сделать что-то, например, выполнить базовый запрос ajax и сохранить hasjs в переменной сеанса после успешного запроса страницы ajax. Вы не будете знать, если это просто тот факт, что запрос ajax не был успешным из-за чего-то другого, или если у них отключен Javascript.

Давайте все равно попробуем:

JQuery скрипт в вашей голове теги

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$( document ).ready(function() {
$.get( "hasjs.php", { hasjs: "1"} );
});
</script>

Файл PHP (hasjs.php)

<?php
if(isset($_GET['hasjs']))
{
session_start();
$_SESSION['hasjs'] = 1;
}
?>

Затем вы можете получить доступ к переменной сеанса, чтобы определить, есть ли у них JS на основе запроса ajax. Ничто не мешает пользователю посетить эту страницу, если у него не установлен JS.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]