Domanda

Presumo che non sia possibile utilizzare uno snippet di codice JavaScript per verificare se l'utente del browser ha disattivato JavaScript.Quindi cosa posso usare al suo posto?Qualcuno può offrire un esempio di codice?

Sto cercando di racchiuderlo in un'istruzione if/then.

Codifico spesso in CFML, se questo aiuta.

È stato utile?

Soluzione 4

Stiamo parlando di qualcosa del genere:

JavaScript:

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

Altri suggerimenti

questo è un trucco totale ma potresti usare un iframe all'interno del tag noscript per attivare un HTTP GET su un URL per dire al server che un utente non ha Javascript abilitato.

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

Utilizza i tag HTML <noscript>.

Non sei sicuro di cosa stai cercando di fare, ma se hai solo bisogno di informare l'utente che è richiesto Javascript puoi semplicemente utilizzare il tag '<noscript>'.Se hai bisogno di sapere sul server puoi effettuare una richiesta in stile Ajax al server da Javascript.Se ricevi la richiesta Javascript funziona altrimenti no.

Sta chiedendo un controllo per vedere se Javascript è abilitato.Posso solo pensare di fare esattamente quello che ha detto l'OP: provare a utilizzare alcuni Javascript con un intervallo per inviare una richiamata se JS è attivato - sfortunatamente non penso che sia possibile verificare sul lato server se JS è abilitato, motivo per cui si utilizzano piuttosto i tag piuttosto che eseguire il rendering di contenuti diversi dal server.

Se usi JavaScript discreto quindi non è necessario verificare se l'utente ha JavaScript abilitato.

Se hanno abilitato JavaScript, otterranno il massimo effetto, ma in caso contrario gli utenti saranno comunque in grado di utilizzare il tuo sito.E oltre ad essere migliore in termini di accessibilità, potresti scoprire che questo approccio migliora il tuo SEO.

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

Sì, lo snippet NoScript è corretto.

Potresti fare in modo che Javascript esegua alcune query AJAX e controlli per vedere se lo è.Quelli che scaricano la pagina e non eseguono la query hanno JS disabilitato o sono robot.

In realtà tutto ciò che puoi fare è inserire qualche messaggio nei tag.Mi sembra di ricordare di averlo provato da qualche parte su ASP.NET, ma puoi davvero solo sapere se il browser supporta Javascript, non se è effettivamente consentito/abilitato o meno.

Non so molto di CFML, ma .NET ha la capacità di rilevare le funzionalità del browser.Tuttavia, non ha la capacità di rilevare se il browser lo è capace di javascript, ma è stato attivato spento.Quindi anche tu sei bloccato lì.

Oltre al tag HTML noscript, non c'è molto che puoi fare, per quanto ne so, oltre a scrivere javascript progressivamente (vedi miglioramento progressivo) in modo da non dover controllare Javascript:off.

Non conosco JS, ma sarebbe possibile modificare i collegamenti all'interno della pagina con JS?Se qualcuno va al collegamento non modificato, non sta usando JS, ma se lo fa sta usando JS.Ha senso?

Non ho mai capito come farlo senza un viaggio di andata e ritorno, quindi dipende da quale è il tuo obiettivo.

Se devono avere Javascript per procedere, allora ho (in .net) fatto cose come disabilitare il pulsante di accesso sul lato server, quindi abilitarlo sul lato client con Javascript e utilizzare un tag noscript per mostrare un messaggio di errore.

Se deve funzionare in entrambi i casi, puoi utilizzare il miglioramento progressivo e/o utilizzare js per impostare un campo nascosto e quindi impostare una variabile di sessione, ma ciò significa che non lo sai finché non arrivano alla seconda richiesta.

potresti scrivere

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

o altrimenti scrivere un cookie tramite js e poi leggerlo sul server se si desidera verificare la presenza di js sul lato server.

se stai cercando un modo per controllarlo lato server, puoi inviare all'utente un js che inserisce un cookie....se il cookie esiste su una richiesta, puoi sapere se lo script ha funzionato o meno!

Un modo affidabile per farlo è utilizzare $.post di JavaScript per inviare una nota al tuo server.(Mi scuso se ci sono errori in questo, cancellati dalla mia testa, aggiornerò più tardi quando avrò il tempo di testare).Dovrebbe consentirti di costruirlo in modo da poter anche estrarre i dati della sessione se utilizzano javascript, il che ti consentirà di fornire sostituti per javascript senza dover ricorrere a .

Il tuo script sulla pagina:

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

E nel file .php mirato...

<?php

if ($_POST['myJavascriptOn'] == true){
    $_SESSION['javascriptIsOn'] = true;
} else {
    $_SESSION['javascriptIsOn'] = false;
}
?>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top