Christine Kuehnel: JS erkennen ?

Beitrag lesen

wie kann ich im "ONLOAD" bereich checken, ob der Browser JS kann oder nicht?
Un wenn ja, das "page1.htm" geladen wird wenn nein "page2.htm"?

Gibt es einen Grund dafuer, dass Du das erst onload machen willst?
Oder willst Du einfach nur verschiedene Versionen anbieten?
Ueblich ist da sowas:
Am Anfang der Seite, kann im HEAD-Bereich sein, ein Stueck Script, das weiter nichts macht als sofort weiterzuleiten. Die Seite selbst ist dann  die Ohne-JS-Fassung.
Damit verschwinden alle, die JS haben, sofort wieder, kriegen die eigentliche Seite gar nicht zu sehen. Ein Uebriges kannst Du noch tun, wenn Du den ganzen Inhalt in <NOSCRIPT> verpackst.
Die Weiterleitung sieht man meistens so:
self.location.href = 'JS-Version.html';
Die mag ich persoenlich nicht so sehr. Mit der kann man Leute nerven. Danach funktioniert der Back-Button nicht mehr, d.h., der Button selbst funktioniert schon noch, nur "Back" fuehrt zur vorangegangenen Seite. Und was tut die? Die leitet sofort dahin, wo man eigentlich wegwollte.
Besser ist es, die replace()-Methode zu verwenden. Die macht keinen Eintrag in der History, nachfolgendes "Back" geht also eigentlich zwei Schritte zurueck, hier zu der Seite, die vor der Weiterleitungsseite besucht wurde.
Sieht so aus:
self.location.replace('JS-Version.html');

Aber (na klar ein "aber", waere doch sonst viel zu langweilig) das geht erst ab JavaScript1.1
Wenn also Navi2 und MSIE3 mitspielen sollen, dann muss man fuer die auf das unguenstige location.href ausweichen.

Macht man am geschicktesten so:
<SCRIPT LANGUAGE="JavaScript">
function weiter()
{
self.location.href = 'JS-Version.html';
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript1.1">
function weiter()
{
self.location.replace('JS-Version.html');
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
weiter();
</SCRIPT>

Damit nutzt man die bessere Moeglichkeit bei den Browsern, die damit umgehen koennen, ohne die anderen total zu vernachlaessigen.

Christine