2009-12-14 5 views
0

J'ai converti les balises d'applet suivantes en balises d'objet pour qu'elles fonctionnent. Mais pour une raison quelconque, le dessous ne fonctionne pas. Premièrement, Est-ce que la conversion ci-dessous est correcte et devrait fonctionner?Conversion de balises APPLET en balises OBJECT pour IE6

Applet:

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>'); 

Objet:

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>'); 

BTW, je suis en utilisant JavaScript pour écrire ci-dessus à la page.

J'ai un bouton sur la page qui essaie d'appeler une fonction Java Applet en utilisant JavaScript, mais j'ai cette erreur. Le Javascript ci-dessus a du mal à appeler des fonctions de l'applet Java parce que l'applet n'a pas été chargé correctement.

Merci à tous pour votre aide.

Répondre

1

Ajouter le ID et Nom attribue directement à la balise object, non pas comme param « s:

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

Suppression document.write pour une meilleure lisibilité.

Et je vous recommande d'obtenir les éléments par ID, et non par document.elementName:

var applet = document.getElementById('LittleShootApplet'); 
// instead of document.LittleShootApplet 
+0

Merci pour la réponse, j'ai fait ces changements mais il n'a toujours pas réussi à charger l'applet dans IE6. Je vais devoir ouvrir une question plus précise. Merci. – Abs

0

Firefox échoue avec votre attribut classid. Le navigateur ci-dessous devrait fonctionner cross: -

<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> 

Dans mes tests à la fois IE8 et FF5 nécessaire l'attribut "type", que vous omettez. Le paramètre mayscript est uniquement requis pour les plugins Java avant la version 1.6.0.10. Le paramètre scriptable est toujours requis selon javadocs 1.6.0.21. Dans un test avec 1.6.0.24 pour une applet signée, IE8 l'a appelé OK à partir de JS sans que scriptable soit défini sur true.

+1

* "Ce qui suit devrait fonctionner avec le navigateur croisé:" * Je préfère laisser la partie cross-browser à 'deployJava.js'. Voir le [info. sur la balise applet] (http://stackoverflow.com/tags/applet/info) pour un lien. –

Questions connexes