Как получить версию Java пользователя с помощью PHP? - PullRequest
1 голос
/ 21 января 2010

Есть ли упрощенное решение для получения версии Java, работающей на рабочей станции пользователя с использованием php? По сути, я хочу знать версию Java, работающую на компьютере пользователя, который обращается к моему порталу. Эти данные помогут мне принять некоторые политические решения позже, поскольку наш продукт основан на Java.

Ответы [ 5 ]

6 голосов
/ 21 января 2010

Единственными языками на стороне клиента, которые имеют (не) прямой доступ как на стороне клиента (для определения информации), так и на стороне сервера (для отправки информации), являются JavaScript и ActionScript.

Я думаю, что вы как программист PHP уже более или менее знакомы с JavaScript, поэтому я бы хотел продолжить. К счастью, Sun уже предлагает JavaScript-библиотеку Java Deployment Toolkit именно для этих нужд. Вот SSCCE , просто скопируйте и запустите его:

<!doctype html>
<html lang="en">
    <head>
        <title>SO question 2111383</title>
        <script type="text/javascript" src="http://java.com/js/deployJava.js"></script>
        <script type="text/javascript">
            alert(deployJava.getJREs()); // Show all installed JRE versions.
        </script>
    </head>
    <body>
        <h1>That's all, Folks!</h1>
    </body>
</html>

Получив информацию, просто отправьте ее на сервер. Вы можете сделать это либо синхронно, передав его как скрытый элемент ввода формы, либо асинхронно, используя методы Ajaxical. jQuery идеально подходит для этого. Просто сделайте $.get('script.php?java=' + deployJava.getJREs()); или около того.

1 голос
/ 07 сентября 2011

Если Java работает, просто вызовите сценарий, размещенный на сервере, User-Agent должен предоставить вам точную версию среды выполнения . Поскольку наборы инструментов развертывания javascript-code содержат в списке только до 17 выпущенных версий для Java 6 ... и более ранних версий, вам придется угадывать, какая именно используется конкретным браузером.

1 голос
/ 21 января 2010

Проверьте javatester.org они используют небольшой апплет, чтобы получить работающую версию JVM. Вы можете изменить его, чтобы отправить результат на ваш сервер.

0 голосов
/ 21 января 2010

Функция browser_get() попытается сообщить вам, доступно ли выполнение Java-апплетов.

С одним PHP я считаю, что это ваш лучший выбор.

0 голосов
/ 21 января 2010

Их клиент должен будет отправить вам эту информацию явно. Если они обращаются к вашему сайту через веб-браузер, это не та вещь, которая будет отображаться в строке агента пользователя.

С другой стороны, если они программно обращаются к вашему сайту с помощью кода Java, он будет отображаться в строке агента пользователя. Но, учитывая ваше утверждение о продукте, я бы подумал, что это обычный веб-сайт, предназначенный для доступа через браузер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...