在<noscript>中设置PHP变量
Setting PHP variable in <noscript>
像下面这样的东西不起作用:
<?php $nojs = false; ?>
<noscript>
<?php $nojs = true; ?>
</noscript>
因为无论是否启用 JS,都会执行 PHP。但是有没有办法获得类似的效果呢?如果禁用JS,我正在尝试设置一个标志,然后相应地显示页面的某些部分。
PHP 在 javascript 之前执行,所以你不能这样做。您可以执行一些操作,例如执行基本的 ajax 请求并在成功查询 ajax 页面后将hasjs
存储在会话变量中。你不会知道这是否只是由于其他原因导致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;
}
?>
然后,您可以访问会话变量以确定它们是否具有基于 ajax 查询的 JS。没有什么可以阻止用户访问该页面,如果他们没有安装JS。
相关文章:
- CORS:否'访问控制允许来源'header-但是php设置头文件
- 通过JavaScript设置cookie与通过PHP设置cookie
- 使用 PHP 设置的 cookie 在 js 重定向和新的 PHP 脚本使用 isset 检查后不可用
- 使用 PHP 设置一个 Javascript 变量
- PHP 设置默认值以从 ajax 页面返回记录
- 是否可以阻止使用 Javascript 或 PHP 设置 cookie
- jQuery.data():从php设置值
- 为什么我不能通过javascript或php设置跨子域cookie
- 使用PHP设置焦点并在出现错误时选择内容元素
- 从PHP设置JavaScript变量
- 为什么我用PHP设置的cookie不能用Javascript读取
- 使用php设置图像上传器字段
- 我应该使用Javascript或PHP设置一个全局变量来唯一标识web应用程序中的每个页面吗
- 不能使用angular.js和php设置下拉列表中的值
- JqGrid如何使用JqGrid JS与PHP设置属性
- 使用PHP设置和编码cookie
- 通过ajax调用php设置cookie
- Javascript不允许我用PHP设置变量
- 我如何重置一个复选框的复选值是由php设置的
- PHP设置下拉列表默认值