Text ausgeben, wenn JavaScript deaktiviert
John
- javascript
0 Patrick0 Rouven0 Patrick0 Alexander (HH)0 Cybaer0 Patrick Andrieu0 Cybaer
Hallo,
wie kann ich einen Text erzeugen, der nur ausgegeben wird, wenn JavaScript deaktiviert ist? Kennt ihr möglichst elegante Varianten?
Danke schonmal!
Hallo,
wie kann ich einen Text erzeugen, der nur ausgegeben wird, wenn JavaScript deaktiviert ist? Kennt ihr möglichst elegante Varianten?
Danke schonmal!
<noscript>Text, der nur ausgegeben wird, wenn Javascript deaktiviert ist.</noscript>
Hello,
alternativ zur <noscript>-Variante kannst du auch ein Element in die Seite einbauen, das normalerweise angezeigt wird und dann verschwindet, wenn JavaScript aktiviert ist.
MfG
Rouven
alternativ zur <noscript>-Variante kannst du auch ein Element in die Seite einbauen, das normalerweise angezeigt wird und dann verschwindet, wenn JavaScript aktiviert ist.
Bietet das Vorteile gegenüber dem <noscript>-Tag? Ich hätte jetzt eher vermutet, dass es in einigen Browsern eher ein Aufflimmern des Elementes zur Folge hat - zwischen dem Zeitpunkten der Erstellung und des Aufrufs des passenden Javascript-Codes...?
Bietet das Vorteile gegenüber dem <noscript>-Tag?
Nein.
Ich hätte jetzt eher vermutet, dass es in einigen Browsern eher ein Aufflimmern des Elementes zur Folge hat - zwischen dem Zeitpunkten der Erstellung und des Aufrufs des passenden Javascript-Codes...?
Bei sehr komplexen Seiten auf sehr langsamen oder sehr belasteten Rechnern kann sowas in der Tat kurz aufblitzen. Deswegen gibt es das Noscript-Tag.
Ich habe noch irgendwo im Hinterkopf, das irgendein Browser das Noscript-Tag nur dann auswertet, wenn es direkt auf ein Script-Tag folgt.
Alexander
Hi,
Bietet das Vorteile gegenüber dem <noscript>-Tag?
Unter Umständen durchaus. NOSCRIPT wirkt immer, wenn es kein JS gibt, entfernen kann man nur, wenn es ein JS mit DOM-Unterstützung gibt (heutzutage macht man soviel mit JS, daß es hat oft sinnvoller ist, zw. No-JS- & Old-JS- auf der einen, und DOM-JS-Browsern auf der anderen Seite zu unterscheiden).
Ich hätte jetzt eher vermutet, dass es in einigen Browsern eher ein Aufflimmern des Elementes zur Folge hat - zwischen dem Zeitpunkten der Erstellung und des Aufrufs des passenden Javascript-Codes...?
Das läßt sich vrmeiden, indem man diesen Zeitraum bei 0 hält, oder, wenn man das nicht kann/möchte, die Seite erst nach der Aktion einblendet. Beides ist in DOM-Browsern kein Problem.
Gruß, Cybaer
Hallo Cybaer!
Das läßt sich vrmeiden, indem man diesen Zeitraum bei 0 hält, oder, wenn man das nicht kann/möchte, die Seite erst nach der Aktion einblendet. Beides ist in DOM-Browsern kein Problem.
Kannst du dies konkretisieren?
Viele Grüße aus Frankfurt/Main,
Patrick
Hi,
Kannst du dies konkretisieren?
<div><script>Hier Code um (spezifiziertes oder schlicht letztes) DIV auszublenden</script>Sichtbarer Inhalt vom DIV</div>
Ausblendung erfolgt direkt nach Vorhandensein des Elements aber vor Darstellung seines Inhalts (Zeitspanne: 0). Alternativ kann man das Script auch direkt hinter das Element setzen - da wird man i.d.R. kaum einen Unterschied merken.
Oder man versteckt auf diese Art den BODY, bzw. noch besser: sofort im HEAD das documentElement (also das komplette Dokument).
In beiden Fällen kann man dann nach der "Arbeit", spätestens aber im onload-Event das Element wieder sichtbar machen.
Gruß, Cybaer
Hallo Cybaer!
<div><script>Hier Code um (spezifiziertes oder schlicht letztes) DIV auszublenden</script>Sichtbarer Inhalt vom DIV</div>
Ach ja, klar... ich versuche mich jedoch in Purismus (*g*) und möchte mein JS-Code vom HTML komplett trennen...
Viele Grüße aus Frankfurt/Main,
Patrick
Hi,
Ach ja, klar... ich versuche mich jedoch in Purismus (*g*) und möchte mein JS-Code vom HTML komplett trennen...
Das meinte ich mit "nicht wollen" :) Und deswegen halt die 2. Lösung als Alternative für *solche* Fälle ...
Gruß, Cybaer
Hallo Cybaer!
Das meinte ich mit "nicht wollen" :) Und deswegen halt die 2. Lösung [Oder man versteckt auf diese Art den BODY, bzw. noch besser: sofort im HEAD das documentElement (also das komplette Dokument).] als Alternative für *solche* Fälle ...
Habe eben damit experimentiert:
http://www.atomic-eggs.com/z_testdir/sehtest.html
Nichts zu sehen vom DIV, der nur ohne JS angezeigt werden soll... Allerdings: auf dem PC, wenn man im IE wie ein wildgewordener Pistolero auf den Reload-Button klickt, sieht man hin und wieder das andere DIV für Sekundenbruchteile aufflackern.
Dem DIV zur Anzeige bei deaktiviertem JavaScript habe ich mit einer ca. 65KB schwere Hintergrundgrafik (makeitheavy.jpg) ausgestattet , um der Seite etwas mehr Ladezeit zu verpassen.
Danke für die interessante Spielmöglichkeit!
Viele Grüße aus Frankfurt/Main,
Patrick
Hi,
Danke für die interessante Spielmöglichkeit!
Gerne die Muse gewesen. ;-)
Gruß, Cybaer