🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #27448

LiveConnect: Conectar JavaScript con Java

#27448
From: x
Date: Wed, 09 Sep 1998 00:00
97 lines
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-mail

Show 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