2012-03-15 6 views
4

Насколько я могу видеть из документации, <applet> устарел, а тег <object> является предпочтительным для запуска апплета. Но я не могу найти приличную документацию или даже учебник о том, как использовать тег объекта для запуска апплета.Запуск java-апплета

Я видел следующий вопрос, который показывает, как в JavaScript, но я предпочел бы использовать тег launch applet from web page

мне нужно знать, как определить Java двигателя, как указать банку файл, где он хранится , и как указать класс, который выполняется.

Вот что у меня есть на данный момент (но не работает)

<object 
    classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
    width="800" height="600" data="pi.jar"> 
    <param name="code" value="PiLauncher.class"/> 
</object> 

требование было в Oracle 1.5 Документах, что ClassID определяет «текущий Java двигатель», но это совершенно непрозрачным для меня. У них также были примеры с запросом конкретной версии.

Даже если это так, как я:

  1. указать файл банка
  2. указать класс (это правильно выше)
  3. указать директорию, где код (это кодовое еще ? действительный)
+0

* "но я предпочел бы использовать тег" * Почему? Получение правильной строки для вставки апплета (в конкретной версии конкретного браузера на конкретную ОС) является PITA. Лучше делегировать его JS. –

+0

Я стою исправлены. Посмотрев на приведенный ниже ответ, я полностью отвратился. Это то, что должно быть стандартизировано. Я могу понять, что Microsoft делает что-то другое, но все остальные должны согласиться. В этом отношении он должен был быть консорциумом Oracle/Sun/java, заявив «официальный» способ сделать это. UGH! – Dov

+0

* «Должно быть, это был консорциум Oracle/Sun/java, в котором указывается« официальный »способ сделать это». * Один из моих любимых мотивов в отношении апплетов заключается в том, что Sun никогда не потрудилось определить, что * должно * фокусироваться, когда были ли апплеты на странице (имеет ли ссылка HTML фокус или текстовое поле апплета?) и не реализовал способ апплета принять фокус в себя, а затем отказаться от него изящно вернуться к следующему элементу HTML. Это делает апплеты практически невозможными без мыши и становится серьезным ущербом для навигации на основе клавиатуры. :( –

ответ

4

Прежде всего, синтаксис не то же самое для Firefox и IE:

Firefo х:

<object classid="clsid:CAFEEFAC-0017-0000-0000-ABCDEFFEDCBA" id="appletId" name="appletName" width="400" height="300"> 
    <param name="code" value="com.myPackage.Applet" /> 
    <param name="codebase" value="../resources/applet/"/> 
    <param name="ARCHIVE" value="myApplet.jar" /> 
    <param name="cache_archive" value="myApplet.jar" /> 
    <param name="type" value="application/x-java-applet" /> 
    <param name="cache_option" value="plugin" /> 
    <param name="mayscript" value="true" /> 
    // you can set optional parameters here 
</object> 

IE:

<object width="400" height="300" classid="java:com.myPackage.Applet.class" codebase="../resources/applet/" name="appletName" id="appletId"> 
    <param name="archive" value="myApplet.jar" /> 
    <param name="type" value="application/x-java-applet" /> 
    <param name="cache_option" value="plugin" /> 
    <param name="mayscript" value="true" /> 
    // you can set optional parameters here   
</object> 

Вот хорошая ссылка: http://docs.oracle.com/javase/1.5.0/docs/guide/plugin/developer_guide/using_tags.html#object

+0

* "Синтаксис не то же самое для firefox и IE:" * Или Safari, .. или Opera, или Chrome, или .. Ваша основная точка верна, но это вызывает меня, когда разработчики предполагают, что пользователи используют одно из «больших 2» приложений в любом поле. (+1 в любом случае.) –

+1

Я должен был завершить: «но я не знаю, как это работает для других браузеров». Но это тоже относительный. Единственный раз, когда я использовал это, был для работы в колледже, поэтому мне не пришлось беспокоиться о пользователях. Конечно, если он делает что-то публичное или коммерческое, вы совершенно правы. :) – user1242756

+0

Вау, это действительно, очень ужасно.Я чувствую, что отказываюсь от ответа, потому что я его ненавижу .... – Dov

Смежные вопросы