Erkennen Sie, wenn Sie JavaScript in ASP.NET deaktiviert
-
05-07-2019 - |
Frage
In der Render-Methode einer ASP.NET Web-Kontrolle, muß ich auf die Ausgabe der HTML-basierte ändern, ob JavaScript aktiviert oder deaktiviert ist auf dem Kunden-Browser
Kennt jemand das Recht, Beschwörung, um das herauszufinden?
Lösung
Das Problem mit Skript zu prüfen, ob Javascript aktiviert ist, ist, dass Sie nur das herausfinden, nachdem das Skript nicht ausgeführt hat.
Einige Lösungen versuchen, das Gegenteil - sie Javascript verwenden, um einen Wert zu setzen und dann liefern Javascript Kontrollen aktiviert, wenn dieser Wert später erkannt wird. Dies ist jedoch nicht mit Javascript-manchmal-fähigen Tools wie die Firefox NoScript Plugin.
Eine robustere Lösung ist immer die Klar HTML kompatible Steuer zu senden, und dann Javascript läuft beim Laden der Seite der richtigen Event-Handler / zusätzliche DOM-Elemente / etc.
hinzufügenAllerdings weiß ich nicht, wie das paßt mit dem ASP.NET-Ansatz führt zu den Kontrollen.
Andere Tipps
noscript -Tag wird verwendet, um einen alternativen Inhalt (Text), wenn eine zu definieren, Skript nicht ausgeführt wird.
EDIT: Hallo Kieron, unter diesem Link einen Blick: einen Server Control Erstellen für JavaScript Testing und erkennen, ob JavaScript in ASPX
Der Browser kommuniziert nicht Javascript Verfügbarkeit mit der Anfrage.
Eine Sache, die ich getan habe, obwohl ich nicht sicher bin, ist es in Ihrem Fall anwendbar ist die Seite zu erzeugen, als ob Javascript nicht aktiviert ist, dann einige Javascript haben, die die HTML-only Sachen schaltet sich aus und schaltet die HTML-Javascript Zeug.
Sie könnte auch die erste Seite „phone home“ über Javascript traf in der Sitzung um aufzuzeichnen, ob Javascript aktiviert ist oder nicht.
Dies ist eine Möglichkeit zu überprüfen, wenn ein Formular abgeschickt wird.
http://www.4guysfromrolla.com/webtech/082400-1.shtml
Ich glaube nicht, dass es irgendeine Anfrage Eigenschaft, die Ihnen sagen, wenn die Seite zum ersten Mal angefordert wird. Es ist eine Eigenschaft, die Ihnen sagen, wenn der Browser JS unterstützt, aber nicht, wenn seine freigegeben. Here
Was Sie tun müssen, ist dies. Nach zahlreichen Tests und spät in der Nacht, habe ich beschlossen, die einfachste Lösung. Ziehen Sie ein Etikett auf die oben auf der Seite und stellen Sie sicher, es liest „am Server ausgeführt werden“. Dann wird für das Text-Attribut, Text setzen = „Diese Seite benötigt Javascript“. Das sollte die beste Antwort sein. : D