php - 我可以使用 PHP 可以识别的 JavaScript 创建变量吗?

标签 php javascript variables

我有一系列 PHP 语句,我只想在启用 javaScript 时运行。

if($js_enabled == 'yes') {
   //Run a series of PHP statements
}

我的问题是我想用 javaScript 创建 $js_enabled 变量。因此,如果启用 javaScript,将创建变量并运行 PHP 语句,但如果未启用 javaScript,则永远不会创建变量,也不会运行 PHP 语句。

如何使用 PHP 可以识别的 JavaScript 创建变量?

最佳答案

你可以做到

$browser = get_browser();
if ($browser['javascript'] == 1) {
    // your code here
}

请阅读documentation for get_browser注意事项,尤其是

Note: In order for this to work, your browscap configuration setting in php.ini must point to the correct location of the browscap.ini file on your system. browscap.ini is not bundled with PHP, but you may find an up-to-date » php_browscap.ini file here. While browscap.ini contains information on many browsers, it relies on user updates to keep the database current. The format of the file is fairly self-explanatory.

同时检查评论中给 get_browser 的链接:


编辑 正如您在评论中正确指出的那样,以上内容不会告诉您 JavaScript 是否启用,而只会告诉您浏览器是否有能力 运行它。从服务器端了解客户端是不可能的,因为服务器端先运行。如果有的话,在提供页面后通知服务器端,例如就像 @mck89 建议的那样,或者简单地设置一个 cookie,你可以在每个后续请求中读取它。

但一般来说,如果您的网站需要启用 JavaScript,您应该简单地添加一条消息来告知用户此要求,例如:

<noscript>This page requires JavaScript to run properly</noscript>

换句话说,不要从 PHP 检查。只需设置浏览器可能使用的每个变量,如果 JavaScript 已启用并考虑使用 graceful degradation or progressive enhancement .

关于php - 我可以使用 PHP 可以识别的 JavaScript 创建变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2565746/

相关文章:

javascript - jquery 确认在表中提交正确的表单

javascript - 使用 jQuery 将选择标签附加到表单中

php - 如何使用mysql在序列化字段中进行搜索?

php - 在 Laravel 5 中打开 autoload.php 失败

php - 如果结果大则不显示结果

javascript - 选项更改时如何清除与选择一起使用的 v-model

php - 邮件程序错误 : SMTP connect() failed in php mailer( https://github. com/PHPMailer/PHPMailer/wiki/Troubleshooting)

PHP:获取 TEXTBOX 的值然后将其传递给 VARIABLE

python - 在循环中创建变量然后赋值

oop - 参数与成员变量