Foros del Web » Programación para mayores de 30 ;) » Java »

No puedo invocar metodo de un applet desde javascript

Estas en el tema de No puedo invocar metodo de un applet desde javascript en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 30/04/2011, 05:05
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 13 años, 4 meses
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
  #2 (permalink)  
Antiguo 30/04/2011, 07:21
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: No puedo invocar metodo de un applet desde javascript

Me respondo a mi mismo.

"Cuando un applet firmado se accede desde código JavaScript en una página HTML, el applet se ejecuta en el entorno limitado de seguridad. Es decir que el applet firmado se comportara si accedemos a través de Javascript como un applet sin firmar."

Tal y como pone la página de oracle

http://download.oracle.com/javase/tutorial/deployment/applet/security.html#jsNote

Etiquetas: applet, invocar, javascript, metodo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:45.