Frage

Ich gehe davon aus, dass Sie kein JavaScript-Code-Snippet verwenden können, um zu überprüfen, ob der Browserbenutzer JavaScript deaktiviert hat.Was kann ich stattdessen verwenden?Kann jemand ein Codebeispiel anbieten?

Ich möchte eine Wenn/Dann-Anweisung darum herum packen.

Ich programmiere oft in CFML, falls das hilft.

War es hilfreich?

Lösung 4

Reden wir über so etwas:

JavaScript:

<body>
...
...
<script type="text/javascript">
<!--
document.write("Hello World!")
//-->
</script>
<noscript>Your browser does not support JavaScript!</noscript>
...
...
</body>

Andere Tipps

Dies ist ein totaler Hack, aber Sie könnten einen Iframe innerhalb des Noscript-Tags verwenden, um einen HTTP-GET auf einer URL auszulösen und dem Server mitzuteilen, dass ein Benutzer kein Javascript aktiviert hat.

<body>
...
...
<noscript>
    <iframe src ="/nojs.aspx?SOMEIDENTIFIER=XXXX&NOJS=TRUE" style="display: none;">
    </iframe>
</noscript>
...
...
</body>

Verwenden Sie die HTML-Tags <noscript>.

Ich bin mir nicht sicher, was Sie tun möchten, aber wenn Sie den Benutzer nur darüber informieren möchten, dass Javascript erforderlich ist, können Sie einfach das Tag „<noscript>“ verwenden.Wenn Sie Informationen zum Server benötigen, können Sie über Javascript eine Ajax-Anfrage an den Server stellen.Wenn Sie die Anfrage erhalten, funktioniert Javascript, andernfalls nicht.

Er bittet um eine Überprüfung, ob Javascript aktiviert ist.Ich kann mir nur vorstellen, genau das zu tun, was der OP gesagt hat – versuchen Sie, etwas Javascript mit einem Intervall zu verwenden, um einen Rückruf zu senden, wenn JS aktiviert ist – leider glaube ich nicht, dass Sie serverseitig überprüfen können, ob JS aktiviert ist, weshalb Sie lieber Tags verwenden als andere Inhalte vom Server zu rendern.

Wenn du benutzt Unaufdringliches JavaScript Dann müssen Sie nicht prüfen, ob der Benutzer JavaScript aktiviert hat.

Wenn sie JavaScript aktiviert haben, erhalten sie den vollen Effekt, aber wenn nicht, können Benutzer Ihre Website weiterhin verwenden.Dieser Ansatz verbessert nicht nur die Barrierefreiheit, sondern verbessert auch Ihre SEO.

<noscript>
    ...some non-js code
</noscript>

Ja, das NoScript-Snippet ist richtig.

Sie könnten Javascript eine AJAX-Abfrage ausführen lassen und prüfen, ob dies der Fall ist.Diejenigen, die die Seite herunterladen und die Abfrage nicht ausführen, haben entweder JS deaktiviert oder sie sind Roboter.

Eigentlich können Sie nur eine Botschaft in die Tags einfügen.Ich glaube mich zu erinnern, dass ich das irgendwo auf ASP.NET versucht habe, aber man kann wirklich nur erkennen, ob der Browser Javascript unterstützt, nicht, ob es tatsächlich erlaubt/aktiviert ist oder nicht.

Ich weiß nicht viel über CFML, aber .NET verfügt über die Fähigkeit, Browserfunktionen zu erkennen.Es ist jedoch nicht möglich zu erkennen, ob der Browser dies tut fähig von Javascript, aber hat es gedreht aus.Da stecken Sie also auch fest.

Außer dem HTML-Noscript-Tag können Sie meines Wissens nicht viel tun, außer Javascript progressiv zu schreiben (siehe progressive Erweiterung), sodass Sie nicht nach Javascript:off suchen müssen.

Ich kenne JS nicht, aber wäre es möglich, die Links innerhalb der Seite mit JS zu ändern?Wenn jemand auf den unveränderten Link geht, verwendet er kein JS, aber wenn er es tut, verwendet er JS.Macht das irgendeinen Sinn?

Ich habe noch nie herausgefunden, wie es ohne Hin- und Rückfahrt geht, es hängt also davon ab, was Ihr Ziel ist.

Wenn sie Javascript benötigen, um fortzufahren, habe ich (in .net) beispielsweise die Anmeldeschaltfläche auf der Serverseite deaktiviert, sie dann clientseitig mit Javascript aktiviert und ein Noscript-Tag verwendet, um eine Fehlermeldung anzuzeigen.

Wenn es so oder so funktionieren muss, können Sie die progressive Erweiterung verwenden und/oder js verwenden, um ein verstecktes Feld und dann eine Sitzungsvariable festzulegen. Dies bedeutet jedoch, dass Sie es erst wissen, wenn Sie bei der zweiten Anfrage ankommen.

du könntest schreiben

<script type="text/javascript" language="javascript">document.write("<input type='hidden' name='hasJs' value='1' />");

oder schreiben Sie auf andere Weise ein Cookie über js und lesen Sie es dann auf dem Server, wenn Sie serverseitig nach js suchen möchten.

Wenn Sie nach einer Möglichkeit suchen, dies serverseitig zu überprüfen, können Sie dem Benutzer ein JS senden, das ein Cookie setzt....Wenn das Cookie bei einer Anfrage vorhanden ist, können Sie feststellen, ob das Skript funktioniert hat oder nicht!

Eine zuverlässige Möglichkeit, dies zu tun, besteht darin, $.post von Javascript zu verwenden, um eine Notiz an Ihren Server zu senden.(Es tut mir leid, wenn es irgendwelche Fehler gibt, die mir spontan aufgeschrieben wurden, ich werde sie später aktualisieren, wenn ich zum Testen komme.)Sollte es Ihnen ermöglichen, es so zu erstellen, dass Sie sogar Sitzungsdaten abrufen können, wenn Javascript verwendet wird, sodass Sie Ersatz für Javascript bereitstellen können, ohne auf . zurückgreifen zu müssen.

Ihr On-Page-Skript:

<script>
function myJavascriptTest(){
    $.post ()('myJavascriptTest.php', {myJavascriptOn: true}, function(){
    return true;
}
myJavascriptTest()
</script>

Und in der gezielten .php...

<?php

if ($_POST['myJavascriptOn'] == true){
    $_SESSION['javascriptIsOn'] = true;
} else {
    $_SESSION['javascriptIsOn'] = false;
}
?>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top