Moin!
Ein Browser mit JS würde also nichts zeigen
nein.
Basierend auf der hier folgenden Diskussion:
Doch. Bzw. nein, er würde den Inhalt von <noscript> nicht zeigen.
Ein <noscript> bezieht sich immer auf den vorherigen <script>-Bereich. Da ein solcher bei Dir nicht existiert - und so auch nicht entschieden werden konnte, ob dessen Inhalt ausgeführt werden kann - muss der Client sich des <noscript>-Inhalts annehmen.
Die von dir in [pref:t=77928&m=450227] geposteten Regeln sagen:
1. Noscript ist anzuzeigen, wenn der User Agent kein Script ausführen kann (also JS aus ist).
2. Noscript ist anzuzeigen, wenn der User-Agent die Sprache des vorhergehenden Scriptbereiches nicht kennt (weil es z.B. kein JS ist, sondern vbs).
Da in H²0s beispiel kein vorhergehender Skriptbereich existiert, den der Browser nicht ausführen kann, ist der Noscript-Bereich _nicht_ anzuzeigen. Er wird nach diesen Regeln nur dann angezeigt werden, wenn Javascript (und alle anderen vorhandenen Skriptsprachen) abgeschaltet sind.
Die Realität zeigt, dass lediglich Opera auch Regel 2 tatsächlich beherrscht. IE und Firebird (was ich mal stellvertretend für alle Mozillas und Firefoxe nehme) zeigen <noscript> nur dann an, wenn Javascript ausgeschaltet ist, aber nicht, wenn sie die Skriptsprache des exakt vorhergehenden Blockes nicht kennen.
Das Macht aber nur bei diesem Sonderfall einen Unterschied:
<script type="text/vbscript"> ... </script>
<noscript>Ihr Browser kann kein VB-Script</noscript>
IE sollte den Code ausführen (sofern VBScript eingeschaltet ist), Mozilla sollte das <noscript> anzeigen (tut er aber nicht - Opera schon).
- Sven Rautenberg