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

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
 
Der Benutzert entscheidet dann, ob er die Operation zulassen möchte.
 
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 [http://wiki.byte-welt.net/wiki/Grafikdateien_laden_und_anzeigen Laden von Bildern] oder wie im Folgenden beschrieben, beim Versenden von eMails aus einem Applet heraus.
+
Oftmals verbaut man sich aber die Benutzbarkeit eines Applets durch verkehrte Ansätze. Bspw. beim falschen [http://wiki.byte-welt.net/wiki/Grafikdateien_laden_und_anzeigen Laden von Bildern] oder wie im Folgenden beschrieben, beim Starten eines Programms auf dem Client-Rechner.
  
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.
+
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:
 
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>
+
<syntaxhighlight lang="java">this.getAppletContext().showDocument(new URL("javascript:doMail(\"name@my-domain.com\")"));</syntaxhighlight>
  
 
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>
+
<syntaxhighlight lang="html">
 +
<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>
 +
</syntaxhighlight>
  
[[Kategorie:Java]]
+
[[Kategorie:Java-Codeschnipsel]]

Aktuelle Version vom 28. März 2018, 09:15 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:

this.getAppletContext().showDocument(new URL("javascript:doMail(\"name@my-domain.com\")"));

Die HTML-Datei muss dann neben dem gewohnten Applet- bzw. Object-Tag noch ein kleines Javascript enthalten:

<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>