2 votes

L'appel de JS depuis Applet: MalformedURLException: protocole inconnu: javascript

J'ai lu que vous pouviez appeler du code JavaScript à partir d'une applet Java en appelant

JApplet.getAppletContext().showDocument("javascript:alert('Hello World');");

Cependant, lorsque je le fais, j'obtiens l'erreur suivante :

java.net.MalformedURLException: protocole inconnu : javascript

Comment puis-je contourner cela?

4voto

Je reçois la même exception que vous à cause de cela, la classe URL n'accepte pas javascript: comme un protocole valide.

Il y a cependant une solution de contournement; fournir un URLStreamHandler au constructeur d'URL.

Exemple:

final URLStreamHandler streamHandler = new URLStreamHandler() {

    @Override
    protected URLConnection openConnection(URL u)
        throws IOException {
        return null;
    }

};

try {
    getAppletContext().showDocument(
        new URL(null, "javascript:alert('Ça marche!');", streamHandler));
} catch (MalformedURLException me) {
    //log ou autre
}

2voto

RuntimeException Points 611
    essayez {
        this.getAppletContext().showDocument(new URL("javascript:alert('hello world');"));
    }catch(Exception e) {
        e.printStackTrace();
    }

Fonctionne !!

Peut-être que le navigateur n'a pas JavaScript activé.. juste une supposition

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X