MudGuard: neuer Inhalt für div im Opera 6.x

Hi,

ich versuche, den Inhalt eines div auszutauschen.
Das gelingt mir mit diesem Code:

var text = "neuer <strong>Text</strong>";
if (document.getElementById)
{
    document.getElementById('meindiv').innerHTML = text;
}
else if (document.all)
{
    document.all['meindiv'].innerHTML = text;
}
else if (document.layers)
{
    document.layers['meindiv'].document.open();
    document.layers['meindiv'].document.write(text);
    document.layers['meindiv'].document.close();
}

dazu im HTML:

<div style="position:relative;" id="meindiv">Alter Text</div>

Zumindest für
IE >= 4.0, Geckos ab Netscape 6, Opera ab 7 und selbst mit Netscape Uralt 4.76

Nur der Opera 6 zeigt sich widerspenstig (Opera 4 ist egal, der fällt schon aus anderem Grund raus, Opera 5 hab ich keinen hier zum Testen...).
Wie bekomme ich da mein neues HTML in das div?

Da der neue Inhalt wesentlich umfangreicher ist als hier im Beispiel und auch viele HTML-Elemente enthält, möchte ich eigentlich nicht mit appendChild usw. arbeiten - der einzusetzende Text soll noch einigermaßen von Javascript-Unkundigen bearbeitet werden können...

Vielen Dank im Voraus,

cu,
Andreas

--
Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
  1. ich versuche, den Inhalt eines div auszutauschen.
    Das gelingt mir mit diesem Code:

    soweit ich weiß kann das Opera erst ab 7 (hab's noch nicht ausprobiert) aber auf keinen Fall vorher und es gibt IMHO auch keinen workaround. (Ich weiß nicht inweit er die DOM Methoden unterstützt)

    Struppi.

    1. Hi,

      ich versuche, den Inhalt eines div auszutauschen.
      Das gelingt mir mit diesem Code:

      soweit ich weiß kann das Opera erst ab 7 (hab's noch nicht ausprobiert) aber auf keinen Fall vorher und es gibt IMHO auch keinen workaround. (Ich weiß nicht inweit er die DOM Methoden unterstützt)

      Das wäre unschön. Aber dann halt unvermeidbar.
      Mal sehen, vielleicht kennt ja doch noch jemand einen Trick...

      Danke für Deine Antwort!

      cu,
      Andreas

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
      http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
  2. Hallo,

    Da der neue Inhalt wesentlich umfangreicher ist als hier im Beispiel und auch viele HTML-Elemente enthält, möchte ich eigentlich nicht mit appendChild usw. arbeiten - der einzusetzende Text soll noch einigermaßen von Javascript-Unkundigen bearbeitet werden können...

    Da sehe ich keinen gangbaren Weg. Opera < 7 kennt weder innerHTML noch die relevanten DOM-Methoden wie createElement(), createTextNode(), appendChild().

    Probiere mal http://www.styleassistant.de/tips/w3cdom.htm aus.

    MfG, Thomas

    1. Hi,

      Da der neue Inhalt wesentlich umfangreicher ist als hier im Beispiel und auch viele HTML-Elemente enthält, möchte ich eigentlich nicht mit appendChild usw. arbeiten - der einzusetzende Text soll noch einigermaßen von Javascript-Unkundigen bearbeitet werden können...

      Da sehe ich keinen gangbaren Weg. Opera < 7 kennt weder innerHTML noch die relevanten DOM-Methoden wie createElement(), createTextNode(), appendChild().

      Probiere mal http://www.styleassistant.de/tips/w3cdom.htm aus.

      Die Anzahl der Absätze kriegt der Opera raus, die Farbe des Absatzes kann er ändern.
      Und für align bekommt er mal 67, mal 66 raus...

      Alle anderen Tests ergeben Javascript-Fehlermeldungen.

      Nur beim innerHTML schweigt der Opera 6.04 und tut nichts...

      Ok, sieht also so aus, als ob ich den Opera 6.x auf die "nicht-geeignet"-Liste setzen muß. Schade.

      cu,
      Andreas

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
      http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
  3. Hallo Andreas, wie Thomas schon sagte ... und einen Trick kenne ich auch keinen. Zumindest nicht mit einer dynamischen Ersetzung.

    Aber: Ist die Opera-Zielgruppe denn nicht eine ganz andere als IE oder auch NN 4.x User? Wer in der Lage ist einen Opera auf dem Rechner zu installieren hat (spätestens jetzt, nachdem es den 7.2er in deutsch gibt) die aktuelle Version auf der Platte.

    Meine unmaßgebliche Meinung: Der Anteil der Opera 6.x User liegt noch unter dem NN 4.x

    Grüße,

    Jochen

    1. Hi,

      Hallo Andreas, wie Thomas schon sagte ... und einen Trick kenne ich auch keinen. Zumindest nicht mit einer dynamischen Ersetzung.

      Schade, scheint wirklich nicht zu gehen.

      Aber: Ist die Opera-Zielgruppe denn nicht eine ganz andere als IE oder auch NN 4.x User? Wer in der Lage ist einen Opera auf dem Rechner zu installieren hat (spätestens jetzt, nachdem es den 7.2er in deutsch gibt) die aktuelle Version auf der Platte.

      Es soll ja Leute geben, die dürfen selbst nichts an der Konfiguration des Rechners tun. Und wenn da der Admin zu faul ist, auf allen (hunderten) Rechnern in der Firma den Update zu machen...

      Meine unmaßgebliche Meinung: Der Anteil der Opera 6.x User liegt noch unter dem NN 4.x

      Ich gehe auch davon aus, daß der Anteil nicht sehr groß ist (obwohl das gerade bei Opera schwer zu sagen ist, weil der sich - wenn man die Konfiguration nicht selbst ändert - erstmal als Internet Explorer ausgibt).

      cu,
      Andreas

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
      http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/