Christian Seiler: DHTML-Ticker in verschiedenen Browsern

Beitrag lesen

Hallo Michael,

var version=(parseInt(navigator.appVersion)>3);
[...]
function start_ticker() { if (version) do_ticker(0) }

Wozu brauchst Du das?

Teste nicht nach Browserversion sondern nach Eigenschaften:

function start_ticker() { if (document.layers || document.all || document.getElementById) do_ticker(0); }

if(navigator.appName=="Netscape")  with(document.ticker.document)  { open(); write(out); close(); }
   else ticker.innerHTML=out;

Was für ein Code... Ich bin mal so freundlich und schreibe ihn Dir um [1], aber Du solltest Dich wirklich in DOM einarbeiten. Du verwendest im Moment nur die prorietären Methoden von NN4 und IE 4 und hast noch eine Browserweiche. Das ist aber schlecht. Prüfe lieber auf die *Eigenschaften* als auf die Browsernamen - dann ist Dein Code zukunftssicher.

if (document.getElementById && document.getElementById("ticker") && document.getElementById("ticker").innerHTML { // für richtige Browser
  document.getElementById("ticker").innerHTML = out;
} else if (document.all && document.all["ticker"] && document.all["ticker"].innerHTML) { // IE 4
  document.all["ticker"].innerHTML = out;
} else if (document.layers && document.layers["ticker"]) { // NN 4
  document.layers["ticker"].document.open ();
  document.layers["ticker"].document.write (out);
  document.layers["ticker"].document.close ();
} else { // Browser unterstützt kein dynamisches ändern von Text
  return;
}

http://www.xs4all.nl/~ppk/js/index.html sowie der Abschnitt "Dynamisches HTML" in SELFHTML dürften Dich interessieren.

Ach ja, noch etwas: Damit Netscape 4 (ab Version 6 nicht mehr) kapiert, dass das eine Ebene sein soll, muss sie per CSS absolut positioniert sein.

Grüße,

Christian

[1] Ist zwar pädagogisch nicht besonders sinnvoll, aber ich habe schon so viel solchen Codemurks gesehen, dass ich es einfach nicht mehr aushalten konnte...

--
Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                      -- Albert Einstein