EMail-Client mit Java-Applet öffnen: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
Zeile 26: Zeile 26:
 
</body>
 
</body>
 
</html></code=html>
 
</html></code=html>
 +
 +
[[Kategorie:Java]]

Version vom 3. April 2011, 10:35 Uhr

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>