# Zugriff auf HTML der gleichen Seite - geht das?



## atarifreak (5. Jan 2005)

Hallo!

Ich suche einen Weg, um von einem Applet aus direkt auf die Inhalte einer Website zuzugreifen, um beispielsweise die Inhalte eines ganz normalen Textfeldes zu ändern oder die Inhalte anderer Tags zu bearbeiten. 
Gibt es aus dem Applet heraus auch die Möglichkeit, ähnlich wie bei Java Script, HTML-Inhalte der gleichen Seite direkt anzusprechen? Wenn ja, wie?

Vielen Dank!

AF


----------



## Illuvatar (5. Jan 2005)

Es gibt nicht sehr viel. Netscape hat eine Methode entwickelt, um auf Javascript der Seite zuzugreifen, ich weiß aber nicht mehr wie das heißt, außerdem tut es nur auf Netscape. Ansonsten gibt es noch Applet#getAppletContext().


----------



## Spacerat (11. Jan 2005)

Das mit Netscape ist schonmal absolut korrekt.

Das ganze heisst Live-Connect und ist inzwischen auch in die Script-Applet-Richtung von J-Script aus möglich.

Aktuelle Version: Windows-Script 5.6 (!Achtung: es gibt schon jede Menge Sicherheits-Updates!)
http://www.microsoft.com/downloads/...d3-c4e1-4e18-9c6c-0ea28c9a5d9d&displaylang=de

Für die andere Richtung Applet-Script ist natürlich das Applet selbst verantwotlich. Deswegen kommt man nicht drum herum, sich die dafür relevanten Klassen (z.B. netscape.jar) zu besorgen und in den Klassenpfad des JRE's zu kopieren. Ich extrahiere dazu immer den netscape-Ordner aus dem Jar-Archiv des Opera-Browsers (Opera.jar), wofür dieser natürlich installiert werden muß. Möglicherweise gibt es aber hier noch einen besseren Weg.

Mit


```
JSObject javascript = JSObject.getWindow((Applet) this); //this muss ein Applet sein!
```

besorgt man sich ein JavaScript-Object und kann dann mit


```
javascript.call("methodenname", Object[] argumente);
```

die JavaScript-Methode (welche natürlich vorhanden sein muß.) aufrufen.

Die Javascript-Methode ändert letztendlich das gewünschte HTML-Element.

Noch eine Winzigkeit: Applets welche auf Scripte zugreifen sollen, muß als Eigenschaft noch MAYSCRIPT=YES übergeben werden:


```
<applet code="MyApplet.class" codebase="./" width=100 height=100 mayscript=yes></applet>
```


----------



## Spacerat (8. Mrz 2005)

Und die zweite sauberere Möglichkeit (für mich grad' frisch reingekommen   ) sind die Pakete der JVM's ab Version 1.4 org.w3c.dom. Da einige viele Browser (z.B. Alle Mozilla Derivate und Opera) bei zu vielen JSExceptions aussteigen.


----------

