Я пытаюсь развернуть JNLP для разных пользователей с моего сайта.
Пользователь вводит свое имя пользователя, и я генерирую JNLP с конкретными jar-файлами для этого пользователя и даю ему файл jnlp с правильной конфигурацией.
Проблема, если у пользователя на компьютере не установлена JRE (Windows / Mac / Ubuntu), он не сможет запустить jnlp.
Мои главные 2 вопроса:
Как узнать, установлена ли JRE на определенном компьютере (мне все равно, существует ли плагин Java или нет в браузере, который использует пользователь) все, что мне нужно для запуска JRE в системе JNLP (на всех ОС)?
Как установить (если я знал, что на машине нет jre) любого JRE и предпочел быть v.1.6. * С моего сайта (или перенаправить на сайт java.com, чтобы потом вернуться к моя страница)?
Чтобы принять во внимание, я уже взглянул на следующее:
Я посмотрел файл deployJava.js и интегрировал его с моим веб-сайтом.
Но он не работает нормально на всех браузерах / ОС.
Если бы я использовал versionCheck ("1.5+") и isWebStartInstalled (), чтобы обнаружить, что у пользователя установлен jre на его компьютере, но, к сожалению, он не смог обнаружить его на FF (на ОС ubunto) для Windows XP FF, IE и Chrome работали нормально !!!
* Итак, мне нужно знать, установлен ли у пользователя JRE на его компьютере или нет.
Напоминание: мне все равно, есть ли в браузере плагин Java или нет!
в Windows XP, если я вызову installJRE ("1.6.0_29") в JS, он будет вести себя следующим образом:
Chrome перенаправит меня на java и скажет установить 1.6.0_30! (Это нормально для меня).
FF и IE никуда меня не перенаправят и ничего не происходит. (Кажется, что скрипт пытается использовать установленный плагин в браузере, чтобы обновить его, но в то же время jre in удален с машины, но кое-как IE и FF до сих пор вижу, что есть Java-PLUGIN!)
если я использовал installLatestJRE (), он будет работать в IE, но он перенаправит меня на установку JRE v.1.7.0_2, которая, как я думаю, все еще не стабильна. и у него проблемы с моим приложением. (Мое приложение отлично работает на JRE v.1.6. *, Но есть проблемы на v.1.7. *), И это не проблема, потому что если у пользователя есть JRE, у меня уже есть в jnlp требуемый jre, который я использую:
<java version="1.6.*" href="http://java.sun.com/products/autodl/j2se" />
и это установит для меня последнюю версию 1.6. * JRE, если она не существует.
на Chrome он работает нормально и перенаправляет меня для установки v.1.6.0.30.
на FF это не сработает.
(FF версия всего 8)
Я пробовал это на 3 разных машинах, и я проверял код много раз, но, к сожалению, он не работал стабильно на этих разных машинах и в браузерах.
Кстати, никто из протестированных браузеров не перенаправил меня обратно на мой сайт (даже если они есть в строке запроса returnPage = www.mywebsite.com). Я уже читал это в java-документах, но они сказали, что это будет работать несколько раз, но не на все браузеры!
Извините за длинное объяснение случая, но я надеюсь найти новое решение, кроме тех, которые я пробовал.
P.S .: Я прочитал здесь один вопрос, на который некоторые из них ответили, просто дайте ссылку на ваш JNLP и заметку ниже, что нам важно, чтобы на вашем компьютере была установлена java со ссылкой на java sun. Но мне не понравилось это решение, я предпочитаю решать, когда перенаправлять пользователя на java или нет, потому что пользователи новички.