Конвертировать теги APPLET в теги OBJECT для IE6 - PullRequest
0 голосов
/ 14 декабря 2009

Я преобразовал следующие теги апплета в теги объекта, чтобы он мог работать. Но по какой-то причине ниже не работает. Во-первых, Правильно ли работает приведенное ниже преобразование?

апплет:

document.writeln('<applet'); 
document.writeln('  code="LittleShootApplet"');
document.writeln('  id="LittleShootApplet" name="LittleShootApplet"');
document.writeln('  scriptable="true"');
document.writeln('  mayscript="true"');     
document.writeln('  height="0" width="0"');
document.writeln('  style="xdisplay: none; width:0; height:0; padding:0; margin:0;" >');
document.writeln('</applet>');

Объект:

document.writeln('<OBJECT ');
document.writeln('classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="0" height="0">');     
document.writeln('<PARAM name="code" value="LittleShootApplet">');
document.writeln('<PARAM name="id" value="LittleShootApplet">');
document.writeln('<PARAM name="scriptable" value="true">');
document.writeln('<PARAM name="mayscript" value="true">');
document.writeln('<PARAM name="style" value="xdisplay: none; width:0; height:0; padding:0; margin:0;">');
document.writeln('</OBJECT>');

Кстати, я использую JavaScript, чтобы написать выше на странице.

У меня есть кнопка на странице, которая пытается вызвать функцию Java-апплета с использованием JavaScript, но я получаю эту ошибку.

Message: 'document.LittleShootApplet' is null or not an object
Line: 77
Char: 1
Code: 0
URI: http://localhost/webs/front-end/activity.php

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

Спасибо всем за любую помощь.

Ответы [ 2 ]

1 голос
/ 14 декабря 2009

Добавьте атрибуты ID и Name непосредственно к тегу object, а не как param:

<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="0" 
 id="LittleShootApplet" name="LittleShootApplet">
...
</OBJECT>

Удален document.write для удобства чтения.

И я бы порекомендовал вам получать элементы по идентификатору, а не по document.elementName:

 var applet = document.getElementById('LittleShootApplet');
 // instead of document.LittleShootApplet
0 голосов
/ 27 июля 2011

Firefox не работает с вашим атрибутом classid. Ниже должен работать кросс-браузер: -

<object type="application/x-java-applet"
 name="LittleShootApplet" width="0" height="0">
    <param name="code" value="LittleShootApplet">
    <param name="scriptable" value="true">
    <param name="mayscript" value="true">
</object>

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

...