EMail-Client mit Java-Applet öffnen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen

Möglichkeit in Verbindung mit Javascript

Normalerweise unterliegen Applets eingeschränkten Rechten und müssen, wenn sie potenziell gefährliche Operationen auf den Client-Rechner durchführen dürfen sollen, signiert sein. Der Benutzert entscheidet dann, ob er die Operation zulassen möchte.

Oftmals verbaut man sich aber die Benutzbarkeit eines Applets durch verkehrte Ansätze. Bspw. beim falschen Laden von Bildern oder wie im Folgenden beschrieben, beim Versenden von eMails aus einem Applet heraus.

Ein Applet müsste, damit es sich zu einem fremden Server verbinden darf, signiert sein. Wenn wir nun aber die kritische Operation auslagern, brauchen wir das Applet nicht zu signieren und der Benutzer wird nicht unnötig verwirrt.

Im Applet starten wir einen Aufruf der showDocument()-Methode, welcher wir einen Javascript-Link zum Aufruf einer Javascript-Funktion mitgeben: <code=java>this.getAppletContext().showDocument(new URL("javascript:doMail(\"name@my-domain.com\")"));</code=java>

Die HTML-Datei muss dann neben dem gewohnten Applet- bzw. Object-Tag noch ein kleines Javascript enthalten: <code=html><head>

 <title>email senden</title>
 <script type="text/javascript">
   function doMail(addr){
     location.href="mailto:"+addr;
   }
 </script>

</head> <body>

 [...]
 <applet code="MyApplet.class" width="400" height="300">
 </applet>

</body> </html></code=html>