我可以从PHP中查看是否启用了Java

Can I check whether Java is enabled from PHP

本文关键字:是否 启用 Java PHP 我可以      更新时间:2023-09-26

我想检测当用户使用我的网站(php)时,是否在用户的浏览器中启用java。

如果java是启用一个特定的div加载在网站上,如果不是另一个div加载。

我做了以下事情:

PHP头文件中的

:(所以无论加载什么,它都会检查java是否启用)

<?php $no_java=0;?>
<noscript><input type="image" src="whatever.jpg" id="java_checker" value="1"></noscript>

这是一个1px * 1px的透明图像,无法看到,但它比可以看到的文本框要好。

if(java_checker==1){
    $no_java=1;
}else{
    $no_java=1
}

我已经用PHP编程几个月了。我知道if(java_checker==1)是不对的,但我不知道如何在不提交表单等的情况下检查值…

谁能告诉我怎么做?value="<?php $no_java=1;?>"是不好的,因为php部分似乎加载不管<noscript>标签:(

任何想法?或者其他的想法,我怎么能"告诉"php没有java,所以做什么…

PHP是一种服务器端语言,而Java小程序在浏览器内运行

这意味着PHP不能直接检测 useragent是否安装了Java插件。理论上,如果有一个相关的HTTP请求头,但没有,它可以。

在最好的情况下,PHP可以发出JavaScript,然后在浏览器中运行一些测试,并通过AJAX向服务器报告。

参见如何从asp.net网站检测安装在客户端上的Java运行时?详情。

你误会了。

在PHP中,你不必检测是否启用了Javascript,而是在JS中。

只要让你的PHP总是启用,但如果JS也存在,让它承担一些工作。简单的

首先,我认为您混淆了Java和JavaScript。缺乏JavaScript处理的<noscript>标签,但我想这种方法将工作良好的"Java小程序"以及。

这里的关键思想是,PHP拥有的关于浏览器的唯一信息是"User Agent"字符串。这指定了这是哪个浏览器。无论使用或不使用Javascript,使网站运行良好的过程被称为"优雅的退化"。你可以在别处读到。

没有方法让PHP知道是否启用了JavaScript。最简单的解决方法是创建一个测试页面,如下所示:

<html>
<script type="text/javascript">
     window.location.href = "myapp.php?js=enabled";
</script>
<noscript><a href="myapp.php?js=disabled">Click here to continue</a></noscript>

这将允许你说$javascript_enabled = $_GET['js'] === 'enabled';,并确定是否启用JS。

注意,这是一个非常错误的构建应用程序的方法。