Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/04/2011, 05:05
lolocripto
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 14 años, 1 mes
Puntos: 3
No puedo invocar metodo de un applet desde javascript

Hola amigos!!

Tengo un problema y es que por alguna extraña razón no puedo invocar el método de mi applet desde javascript.

Este sería mi applet que por supuesto esta firmado porque hace una consulta a un archivo del disco duro. Resulta que uno de los métodos me funciona que es el holaMundo() pero el otro método que es para saber si existe un fichero en el ordenador del cliente no me funciona y no me da error ni nada de nada.

Aquí les dejo mi applet

Código java:
Ver original
  1. import java.awt.*;
  2. import java.applet.*;
  3. import java.io.File;
  4. import netscape.javascript.*;
  5.  
  6. public class AppletJavaScript extends Applet {
  7.  
  8.    
  9.     public void init() {
  10.  
  11.  
  12.     }
  13.     public void paint(Graphics g) {
  14.         g.drawString("Welcome to Java!!", 50, 60 );
  15.     }
  16.     public String holaMundo() {
  17.         return "Fui llamado desde JavaScript :D";
  18.     }
  19.  
  20.     public String existeDisco(){
  21.         File file = new File("/usr/lib/libpcsclite.so.1");
  22.         if(file.exists()){
  23.             return "si existe";
  24.         }else{
  25.             return "no existe";
  26.         }
  27.  
  28.     }
  29. }


Y este es el fichero html desde donde lo invoca

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.  
  4.     <!-- jQuery - the core -->
  5.     <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
  6.     <!-- Sliding effect -->
  7.     <script src="js/slide.js" type="text/javascript"></script>
  8.  
  9.         <link href="js/jquery-ui.css" rel="stylesheet" type="text/css"/>
  10.   <script src="js/jquery.min.js"></script>
  11.   <script src="js/jquery-ui.min.js"></script>
  12.   <script>
  13.  
  14.  
  15. function holaMundo(){
  16.    alert(document.myApplet.holaMundo());
  17.  
  18. }
  19. function existeDisco(){
  20.    alert(document.myApplet.existeDisco());
  21. }
  22.   </script>
  23.   </head>
  24.   <body>
  25.      
  26.       <FORM>
  27. <INPUT type="button" value="call Java Applet method"
  28.   onClick = "holaMundo()">
  29. </FORM>
  30.  
  31. <INPUT type="button" value="call Java method direct"
  32.   onClick = "existeDisco()">
  33. <applet id="myApplet" CODE="AppletJavaScript.class" archive="AppletSigned.jar" width=400 height=400 MAYSCRIPT></applet>
  34.  
  35. </APPLET>
  36. </BODY></HTML>
  37.   </body>
  38. </html>



Sabe alguien porque me funciona el holaMundo() y EL existeDisco() NOO ME VA, sin embargo si pongo en el método paint esto

g.drawString("Welcome to Java!!"+existeDisco(), 50, 60 );

Se ve como en el applet aparece true o false.. Pero invocando al método desde javascript me falla... Sabe alguien darme alguna explicación o alguna forma de comunicar javascript con java que me resuelve este problema

Última edición por lolocripto; 30/04/2011 a las 07:10