Hallo, Andreas,
Auf diese Weise kriegt die neue Seite mit, ob Javascript zur Verfügung steht.
... ob Javascript bei der ersten Seite zur Verfügung stand.
Nicht nur das, es ist viel diffuser.
Wir reden von nonlinearem Hypertext, jede Seite kann die erste Seite sein. Jede Seite muss folglich für sich, selbst wenn sie mit ?js=on aufgerufen wird, weil jemand die Seite damit unwissend verlinkt, muss sie auch ohne JavaScript nutzbar sein oder zumindest soweit abwärtskompatibel sein, dass sie jedem/jeder BenutzerIn eine passende Fehlernachricht und eine Alternative anbietet - nämlich in der Regel die Version ohne JavaScript, sofern JavaScript als Zusatz verwendet wird; und erst wenn für diese spezielle Session gesichert ist, dass JavaScript aktiviert ist, - sofern dies überhaupt annähernd zuverlässig gelöst werden kann - kann mit dem Gedanken gespielt werden, Folgeseiten, die der/die BenutzerIn aufruft, anzubieten, auf welchen JavaScript obligat ist, sofern diese in keiner Sequenz stehen, wie es beispielsweise beim Stempelgeheimnis der Fall ist, bei welchem eine Weiche auf der Eingangsseite reicht und deren einzelne Verlinkung wenig Sinn hätte.
Eine Hauptnavigation erst auf der zweiten Seite in JavaScript zu lösen kann mitunter problematisch werden; selbst wenn es gesicherte Beweise über JavaScript-Unterstützung gibt, ist diese im Endeffekt inkonsequente weil wechselnde Navigation für den/die BenutzerIn sicherlich nicht auf Anhieb verständlich. Ich halte generell wenig davon, Seiten sessionbasiert zu generieren, sofern es nur darum geht, ein Features zu benutzen, welches durch noscript etc. auch ohne die komplexe Überprüfung »geschmeidig abwärts transformiert«.
Die Javascript-Aktivierung ist keine Konstante und kann sich jederzeit ändern...
Genau.
Ein zuverlässiges System zu bauen, welches die Schritte des/der BenutzerIn mittels Sessions überwacht und annähernd sicher feststellt, dass JavaScript aktiviert ist, wäre vermutlich eine Sisyphosarbeit, zumal jederzeit sowieso ein Link zur JavaScript-freien Version angeboten werden müsste, sofern kein punktuelles noscript möglich ist... Folglich sollte entweder JavaScript als Barriere eingesetzt werden - der/die BenutzerIn kann in dem Falle zumindest darüber informiert werden, wenn die Seite JavaScript-Unterstützung zwingend benötigt, beispielsweise wenn es ein DHTML-Experiment zum Selbstzweck ist - oder eine einzige kombinierte Version, welche JavaScript optional einsetzt, was für die meisten auf Grafiken und Text basierenden Seiten, welche JavaScript in erster Linie für optische Gimmicks als für Hypertextaufgaben verwenden, am passendsten ist.
Mathias