Patrick: Java-Problem mit Browsern

Hallo

Ich habe folgendes Problem:

Ich möchte mit folgendem Programm den Text eines div-Bereichs dynamisch ändern:

...

<DIV id="startingMsg" STYLE="left: 5px; top: 5px; width: 150px; height: 50px">
g
</DIV>

<SCRIPT LANGUAGE="JAVASCRIPT">
function Hallo() {
if (document.all) {document.all.startingMsg.innerHTML='NEIN';}
else if (document.layers) {
document.all.startingMsg.document.write('NEIN');
}
else {
document.getElementById("startingMsg").innerHTML='NEIN';
}
}
window.setTimeout("Hallo()",1000);

</SCRIPT>
....

Im Intenet-Explorer (erste if-Anweisung) sowie im Netscape klappt das ohne Probleme

Das Problem ist der Opera und eventuell andere Browser. Im Obera spricht er in die letzt else anweiung, aber er veränder nicht...

Was muss ich machen, dass er auch hier das g zu einem NEIN umformt?++

  1. Hi,

    if (document.all) {[...]}
    else if (document.layers) {
    document.all.startingMsg.document.write('NEIN');

    hm, warum benutzt Du document.all in jenen Fällen, in denen Du weißt, dass es nicht existiert?

    else {
    document.getElementById("startingMsg").innerHTML='NEIN';

    Weder ist DOM-Fähigkeit bei document.all- und document.layers-unfähigen Browsern selbstverständlich, noch ist innerHTML Teil von DOM.

    Im Intenet-Explorer (erste if-Anweisung) sowie im Netscape klappt das ohne Probleme

    _Falsch_. In IE 4+ sowie in _neueren_ Mozilla-basierten Browsern. Mozilla hat irgendwann das nicht-standardkonforme innerHTML als Erweiterung hinzugefügt. "Netscape" ist ebenso aussagearm wie "Browser mit 'e' im Namen" - zumal Netscape 3 und 4 bei Deinem Code Fehler schmeißen werden.

    Was muss ich machen, dass er auch hier das g zu einem NEIN umformt?++

    Die textNode eliminieren und eine neue hinzufügen.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. hi,

      Die textNode eliminieren und eine neue hinzufügen.

      für reinen text würde es auch ausreichen, seiner eigenschaft data einen neuen wert zuzuweisen.

      für mehr (html-code) müsste man aber schon eher das DOM dicker einsetzen, sprich knoten erzeugen, mit attributen bestücken, in den parse tree einhängen etc.

      gruss,
      wahsaga

      1. für mehr (html-code) müsste man aber schon eher das DOM dicker einsetzen, sprich knoten erzeugen, mit attributen bestücken, in den parse tree einhängen etc.

        Hab ich mal versucht, aber im Opera tut sich immer noch nichtss..

        Was muss ich tun?

  2. Vergessen:

    Subject: (JAVASCRIPT) Java-Problem mit Browsern

    Warum ordnest Du Java-Probleme im Bereich JavaScript ein, und warum schreibst Du dann nichts über ein Java-Problem?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes