Как развернуть Java-апплет для современных браузеров (applet, embed, object)? - PullRequest
27 голосов
/ 12 июня 2009

Как развернуть Java-апплет для современных браузеров? Я знаю, что есть 3 варианта, но никто не говорит мне, какой из них выбрать и как их использовать.

У кого-нибудь есть на это ресурсы? я не могу найти ни одного: (

Ответы [ 7 ]

23 голосов
/ 12 июня 2009

Если вы можете настроить Java 6 на обновление 10 или выше, вы можете упростить свою жизнь :

<script src="http://java.com/js/deployJava.js"></script>
<script>
    var attributes = {codebase:'http://java.sun.com/products/plugin/1.5.0/demos/jfc/Java2D',
                      code:'java2d.Java2DemoApplet.class',
                      archive:'Java2Demo.jar',
                      width:710, height:540} ;
    var parameters = {fontSize:16} ;
    var version = '1.6' ;
    deployJava.runApplet(attributes, parameters, version);
</script>
14 голосов
/ 12 июня 2009

В есть раздел * Java Tutorials с названием Использование апплета, объекта и встраиваемых тегов , который решает проблему.

Из Общие соображения :

Развертывание апплетов в Интернете по сравнению с интранетом

При развертывании апплетов:

  • Используйте тег applet, если Интернет страница доступна через Интернет.
  • Используйте тег object или embed, если доступ к веб-странице осуществляется через Интранет.

Развертывание апплетов для определенных Браузеры

При развертывании апплетов:

  • Только для Internet Explorer, используйте object тег.
  • Для Мозиллы только семейство браузеров, используйте embed тег.

Если вам необходимо развернуть апплет в среде смешанного браузера, следуйте инструкциям в разделе Развертывание апплетов в среде смешанного браузера .

Следует отметить, что тег applet устарел, поэтому, вероятно, использовать этот тег нежелательно. ( Более подробная информация о теге applet от W3C )

(Примечание: ссылки были обновлены после предыдущего редактирования для ссылки на учебники Java.)

6 голосов
/ 05 декабря 2009

Используйте deployJava.js - даже если вы не ориентируетесь только на 1.6 и выше. Я использую его более года с апплетами, которые все еще поддерживают даже MSJVM (Java 1.1).

Существует множество функций, которые недоступны в сценарии для старых JRE, но они все еще весьма полезны!

3 голосов
/ 23 июля 2010

Хорошо, учтите, что deployJava.js предназначен для вызова во время загрузки документа. Поэтому, если вы динамически вставляете апплет после события, после того как DOM был сконструирован, вам не повезло с этим новым стандартным подходом. Нам пришлось использовать конструкцию object / embed / noembed.

Редактировать : О, кто-то нашел лучший способ для этого, но это потребовало ручного изменения исходного SUN deployJava.js, пожалуйста, смотрите ссылку ниже: Плагин Java - Важное дополнение к deployJava.js

1 голос
/ 27 июля 2011

Ниже должен работать кросс-браузер: -

<p>
<object type="application/x-java-applet"
    name="accessName" width="300" height="200">
    <param name="code" value="className" />
    <param name="archive" value="jarName.jar" />
    <param name="scriptable" value="true" />
    <param name="mayscript" value="true" />
</object>
</p>

В моих тестах как IE8, так и FF5 требовался атрибут "type". Любой атрибут classid объекта вызывал сбой Firefox. Параметры mayscript будут игнорироваться плагинами Java после 1.6.0.10. Параметр сценария все еще требуется согласно javadocs 1.6.0.21. В тесте с 1.6.0.24 для подписанного апплета IE8 назвал его «ОК» из JS, но сценарий не был установлен в true.

1 голос
/ 16 марта 2011

deployJava.js имеет много серьезных недостатков.

Прочитайте мою статью на deployJava.js на Java-форуме Oracle.

Я бы хотел начать проект с открытым исходным кодом, но у меня нет опыта запуска или создания чего-либо с открытым исходным кодом. Кто-нибудь хочет помочь мне начать? (Предпочтительно на BitBucket с использованием Mercurial .) Если это так, прокомментируйте это и свяжитесь со мной напрямую.

1 голос
/ 12 июня 2009

Вы можете рассмотреть возможность использования Java Web Start вместо апплета, если вы создаете приложение. Апплеты используются только в том случае, если вы создаете что-то, что должно отображаться в браузере.

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