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

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
(Möglichkeit in Verbindung mit Javascript)
Zeile 12: Zeile 12:
  
 
Die [[HTML]]-Datei muss dann neben dem gewohnten Applet- bzw. Object-[[Tag]] noch ein kleines Javascript enthalten:
 
Die [[HTML]]-Datei muss dann neben dem gewohnten Applet- bzw. Object-[[Tag]] noch ein kleines Javascript enthalten:
<code=html><head>
+
<code=php>
 +
<head>
 
   <title>email senden</title>
 
   <title>email senden</title>
 
   <script type="text/javascript">
 
   <script type="text/javascript">
Zeile 25: Zeile 26:
 
   </applet>
 
   </applet>
 
</body>
 
</body>
</html></code=html>
+
</html>
 +
</code=php>
  
 
[[Kategorie:Java]]
 
[[Kategorie:Java]]

Version vom 17. Januar 2015, 15:54 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 Starten eines Programms auf dem Client-Rechner.

Ein Applet müsste dafür 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=php> <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=php>