Vinzenz Mai: all-Objekt, Firefox und der Standards Compliance Modus

Beitrag lesen

Hallo Martin,

zur Zeit beschäftige ich mit Javascript Grundlagen, damit ich meine Webseite damit aufpeppen kann.
Aber irgendwie funktioniert gar nichts.....

Javascript funktioniert, sofern es eingeschaltet ist, wunderbar.

Dieses Skript ist von selfhtml:

<html><head><title>Test</title>
<script type="text/javascript">
var Neu = "neuer <b>fetter</b> Text";
function Aendern () {
  document.all.meinAbsatz.innerHTML = Neu;
}
</script>
</head><body>
<p id="meinAbsatz">Text</p>
<a href="javascript:Aendern()">Anderer Text</a>
</body></html>

Ich habe mir die Mühe gemacht, es zu finden:
http://de.selfhtml.org/javascript/objekte/all.htm#inner_html

ich hab es genauso übertragen, nur dass ich das Skript anders gespeichert habe, aber seht selbst:

Genau dieses "anders gespeichert" verursacht das von Dir beobachtete Verhalten. Genauso steht es dort, wo Du das Skript her hast. :-)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

[...]

Browser ist Firefox 3.0.1. Ich habe echt keine Ahnung, an was das liegen könnte, Javascript ist an(jedenfalls funktionieren Skripte auf anderen Seiten.

Du hast den Abschnitt <http://de.selfhtml.org/javascript/objekte/all.htm#allgemeines@title=all: Allgemeines zur Verwendung> auf der gleichen Seite leider nicht aufmerksam genug gelesen, ich zitiere in Auszügen:

<zitat>
    Damit veraltete Scripte, die ohne Seite Existenzabfrage das all-Objekt
    verwenden lauffähig sind, haben die Browser Opera ab der Version 7 und
    Mozilla Firefox 1.0 (dieser nur im Seite Quirks-Modus und auch nicht
    abfragbar) eine teilweise Unterstützung des all-Objekts eingebaut.
    Deshalb funktionieren einige der folgenden Beispiele in diesen Browsern.
</zitat>

Du holst durch Deine Doctype-Angabe Firefox aus dem Quirks-Modus, daher funktioniert das Uraltskript *nicht* in Firefox 3.0.1, während das oben verlinkte Original durchaus in Firefox 3.0.1 funktioniert.

[...]

Bitte beachte insbesondere auch folgenden Abschnitt:

<zitat>
    Nichtsdestoweniger sollten Sie all nur verwenden, um den Internet
    Explorer 4.0 zu bedienen. Das all-Objekt ist aus heutiger Sicht aus dem
    Grund interessant, weil einige der von Microsoft erfundenen
    Elementeigenschaften von vielen anderen Browsern übernommen wurden und
    sich großer Beliebtheit erfreuen, z.B. nach unten innerHTML. Diese können
    Sie auch zusammen mit DOM-Methoden verwenden.
</zitat>

Welche Relevanz gestehst Du dem IE4 im Jahr 2008 noch zu?

Freundliche Grüße

Vinzenz