2008-09-24 7 views

Répondre

4

J'ai tendance à utiliser quelque chose que je tirais de l'exemple de réflexion au fond de this page, comme vous n'avez pas besoin de se mêler avec votre classpath pour le compiler

Ensuite, je viens de passer des chaînes JSON entre l'applet et javascript

+0

thx pour le lien, il contient juste toutes les méthodes possibles – ken

3

Vous pouvez utiliser JSObject de rappeler en javascript de Java.

A partir de cette page:

import netscape.javascript.*; 
import java.applet.*; 
import java.awt.*; 
class MyApplet extends Applet { 
    public void init() { 
     JSObject win = JSObject.getWindow(this); 
     JSObject doc = (JSObject) win.getMember("document"); 
     JSObject loc = (JSObject) doc.getMember("location"); 

     String s = (String) loc.getMember("href"); // document.location.href 
     win.call("f", null);      // Call f() in HTML page 
    } 
} 
+0

est-il également possible de passer la fonction js qui est un objet comme premier argument de win.call au lieu du nom de la fonction js? – ken

+0

Non, mais au lieu de passer dans la fonction de rappel nue, vous pouvez créer un nouvel objet le contenant, le transmettre puis utiliser le formulaire object.call (name). – moonshadow

3

ps. Pour utiliser JSObject, vous devrez peut-être inclure la balise "MAYSCRIPT" dans la balise html de l'applet.

Questions connexes