Warum setzen Sie nicht einfach einen gehijackten onClick() Ereignishandler, der nur ausgelöst wird, wenn JS aktiviert ist, und verwenden Sie dies, um einen Parameter (js=true) an die angeklickte/aufgerufene URL anzuhängen (Sie könnten auch ein Dropdown-Menü erkennen und den Wert ändern oder ein verstecktes Formularfeld hinzufügen). Wenn der Server jetzt diesen Parameter sieht (js=true), weiß er, dass JS aktiviert ist, und kann dann Ihre ausgefeilte Logik serverseitig ausführen.
Der Nachteil dabei ist, dass Sie beim ersten Mal, wenn ein Benutzer Ihre Seite aufruft, als Lesezeichen speichert, über eine URL aufruft, die von einer Suchmaschine generiert wurde - erkennen müssen, dass es sich um einen neuen Benutzer handelt und daher nicht nach dem NVP in der URL suchen müssen, und der Server müsste auf den nächsten Klick warten, um festzustellen, ob der Benutzer JS aktiviert/deaktiviert hat. Ein weiterer Nachteil ist auch, dass die URL im Browser sichtbar wird und wenn dieser Benutzer dann diese URL als Lesezeichen speichert, den js=true NVP haben wird, auch wenn der Benutzer JS deaktiviert hat, obwohl der Server beim nächsten Klick klug genug wäre zu wissen, ob der Benutzer immer noch JS aktiviert hat oder nicht. Ach.. das macht Spaß...
0 Stimmen
Was möchtest du mit diesen Informationen tun? Es könnte die Antwort beeinflussen, die du bekommst - z.B. sollte in der Regel die progressive Verbesserung bevorzugt werden, anstatt zu versuchen, JavaScript-Deaktivierung zu erkennen und spezifische Maßnahmen basierend darauf zu ergreifen.
0 Stimmen
Progressive enhancement ist das, wonach ich suche. Ich möchte in der Lage sein, sie zu alternativem Inhalt umzuleiten, der ordnungsgemäß funktioniert, wenn kein JS-fähiger oder fähiger Browser vorhanden ist.
1 Stimmen
@expiredninja Dieser Beitrag von Nicholas Zakas besagt etwa 2%, obwohl er über ein Jahr alt ist.
0 Stimmen
Der einfachste Weg ist die Verwendung von
, um die nicht-JavaScript-Seite anzuzeigen, und die Verwendung von JavaScript, um alle JavaScript-abhängigen Elemente anzuzeigen, indem man den Style-Display modifiziert.
0 Stimmen
enable-javascript.com