Article View: es.comp.lenguajes.java
Article #27448LiveConnect: Conectar JavaScript con Java
From: x
Date: Wed, 09 Sep 1998 00:00
Date: Wed, 09 Sep 1998 00:00
97 lines
3210 bytes
3210 bytes
Hola a todos,
voy a postear aqui algo que creo interesante.
Consiste en la manera de poder usar recursos de JavaScript desde Java y
viceversa desde el navegador Netscape.
El articulo en el que me informé esta en:
http://developer.netscape.com:80/viewsource/smith_js2java/smith_js2java.html
El ejemplo que he realizado consiste en leer desde Java las preferencias
del Netscape, por ejemplo, el servidor Email SMTP configurado, y
mostrarlo posteriormente en una ventana de JavaScript sin realizar
ningun script de JavaScript.
Para ello se ha solicitar al Netscape permiso para leer las
"preferences", ello supone firmar el Applet o añadir en el fichero
prefs.js la linea:
user_pref("signed.applets.codebase_principal_support", true);
En el fichero HTML se ha de añadir el tag MAYSCRIPT, esto es necesario
para poder acceder a los recursos JavaScript.
Para compilar correctament el Applet, se ha de poner en el Classpath la
ruta al archivo java40.jar correspondiente a las classes del Netscape.
Al ejecutarse el Applet nos aparecera una ventana de Netscape
solicitandonos permiso para leer las "preferences", se ha de pulsar
"Grant" sino nos saldra una excepcion de seguridad.
Podeis ver como funciona pulsado en el URL:
http://www.arrakis.es/~tara00/pref.html
Aquí teneis los fuentes:
**************************************************************
pref.html
<HTML>
<Head>
<Title>Obtencion de las preferencias del Netscape</Title>
</Head>
<Body>
<applet code="pref.class" MAYSCRIPT>
</applet>
</Body>
</HTML>
***************************************************************
// pref.java
import java.awt.*;
import java.lang.*;
import java.applet.Applet;
import netscape.javascript.JSObject;
public class pref extends Applet {
JSObject win;
String[] valor= new String[1];
public void init(){
netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesRead");
// Get a reference to the Navigator Window
try{
win = JSObject.getWindow(this);
}catch (Exception e){
// Don't throw exception information away, print it.
e.printStackTrace();
}
valor[0]="Servidor de mail :";
valor[0] +=(String) win.eval(
"navigator.preference('network.hosts.smtp_server')" );
win.call("alert",valor);
System.out.println ("El valor de la preferencia es
:"+valor[0]);
}
public void paint (Graphics g) {
g.drawString (valor[0],100,100);
}
}
*************************************************
Saludos,
Juan Moya.
Technical Details
Message-ID:
<35F6DF10.2E7328F8@mat.upc.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,7f37006c4ebd423,start X-Google-Attributes: gid1116f3,public From: x <jmoya@mat.upc.es> Subject: LiveConnect: Conectar JavaScript con Java Date: 1998/09/09 Message-ID: <35F6DF10.2E7328F8@mat.upc.es> X-Deja-AN: 389481957 Content-Transfer-Encoding: quoted-printable Organization: Universitat Politecnica de Catalunya Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 Newsgroups: es.comp.lenguajes.java