Как сохранить запрос Firefox на установку Java, предоставляя запасной контент?
Отредактируйте / сделайте метод start () апплета VncViewer, чтобы установить переменную Javascript. Из Javascript проверьте наличие переменной с помощью setTimeout или setInterval через несколько секунд. Если он не появляется, то java не работает, поэтому предупредите пользователя, чтобы получить последнюю версию java runtime от java.com. Вы даже можете использовать DOM, чтобы вставить кликабельную ссылку.
Должно работать для любого браузера, и появится резервный текст. HTML тоже проще: -
<object type="application/x-java-applet" width="300" height="300">
<param name="codebase" value="/media/vnc/" />
<param name="code" value="com.tightvnc.vncviewer.VncViewer" />
<param name="archive" value="TightVncViewer.jar" />
<param name="mayscript" value="true" />
Java failed to load
</object>
Примечания
classid, используемый в вопросе для IE, находит версию java с самой высокой установленной пользователем. Если найденная версия меньше 1.6, тогда атрибут codebase предлагает пользователю скачать 1.6. Однако, если последняя версия была 1.7, исправления безопасности могли быть пропущены, так что не лучше ли запросить последнюю версию.
В плагине Java 1.5.0_06 (декабрь 2005 г.) в любом случае автоматически выбирается версия Java, установленная пользователем. Таким образом, использованный в этом вопросе classid кажется неуместным в 2011 году. Будет ли кодовая база работать самостоятельно, я не знаю.
В HTML4 атрибуты объекта classid и codebase должны представлять местоположение реализации (например, сам апплет), а не версию java. Таким образом, система IE выглядит совершенно нестандартно.
В HTML5 атрибуты classid и codebase устарели.
Использование атрибута или параметра «код» не указано ни в спецификации объекта HTML4, ни в HTML5.
Не удалось получить атрибут «data» HTML4 / 5, работающий в IE8 или FF5.
В целом это выглядит как беспорядок, и неудивительно, что оракул предлагает использовать устаревший тег апплета вместо тега object.