Comment appeler la méthode déclarée dans l'applet à partir de javascript
Je suis en train de faire une Applet Java pour ouvrir un fichier sur l'ordinateur du client. Je voudrais appeler la fonction openFile dans l'applet java ci-dessous via javascript.
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import javax.swing.JApplet;
public class Test extends JApplet {
public void openFile(String filePath) {
File f = new File(filePath);
try {
Desktop.getDesktop().open(f);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Entre les balises de corps de ma page j'ai le texte suivant:
<applet code="Test.class" height="0" width="0"></applet>
<script type="text/javascript">
document.applets[0].openFile("C:\\test.log");
</script>
Lorsque je charge la page, j'obtiens l'erreur:
TypeError: Object # n'a pas de méthode openFile'
Personne ne sait ce que je dois faire pour corriger cette erreur et obtenir l'applet de travail?
L'applet va être un composant d'un système de contrôle de version. Un web service copie le fichier sur l'ordinateur du client quand ils "check-out" code mais je veux ouvrir automatiquement dans leur éditeur de texte par défaut en même temps. Si vous pouvez penser à un moyen plus facile d'ouvrir le fichier texte, je suis tout oreilles.
OriginalL'auteur Daniel | 2012-12-24
Vous devez vous connecter pour publier un commentaire.
Référence : Invoquant L'Applet Méthodes De JavaScript
Mise à jour
Javascript est autorisé à appeler directement l'Applet public de méthodes ou variables publiques. Javascript considère intégré à l'Applet comme un objet. En fournissant de l'Applet avec un ID, Javascript peut y accéder avec
et vous pouvez l'utiliser,
MyApplet.html
JavaScriptToJava.java
getElementById
?Et depuis quand pouvez-vous faire
document.Applet_ID
?Maintenant, aller dans ma mise à jour
Je crois que, maintenant, vous seriez heureux avec ma mise à jour ?? Ou encore j'ai besoin de plus d'amélioration ??
Vous ne pouvez pas utiliser
document.AppletABC
, je ne suis pas sûr de l'endroit où vous avez obtenu ce à partir de. Vous pouvez le faire que lorsque lename
de l'élément est défini en tous cas, pas avecid
s.document.getElementById("AppletABC")
est de savoir comment vous devriez le faire. Aussi, je ne pense pas que vous pouvez mettre<script>
à côté de la<head>
élément...à vous de les mettre à l'intérieur de<head>
ou<body>
.OriginalL'auteur Ravi