Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    verificare se javascript sia attivo

    Vorrei utilizzare un po' di ajax per velocizzare le mie pagine php. Per evitare problemi di accessibilità vorrei però reindirizzare in automatico gli utenti che hanno javascript disattivato.
    Qual'è il modo più semplice e pulito per verificare se javascript sia attivo o meno su un browser?
    Grazie a tutti

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    <html>
      <head>
        <script>
        location.href = "pagina_con_js.html";
        </script>
      </head>
    
      <body>
      js non attivo
      </body>
    </html>
    se js è attivo sarà chiamata la pagina <pagina_con_js.html>
    altrimenti resterai nella pagina corrente (js non attivo)

    ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Ok, ti ringrazio.
    E se invece volessi fare l'inverso?
    Ovvero, nel caso in cui javascript NON fosse attivo rimandare l'utente ad un'altra pagina, altrimenti lasciarlo dov'è.
    Potrei ad esempio mettere "location.href ..." fra i tag "<noscript>"?

  4. #4
    Avrei risolto mettendo questa stringa:

    <noscript><meta http-equiv="Refresh" content="0;URL=http://ciao.com"></noscript>

    solo che prima di reindirizzare mi fa comunque vedere il contenuto della pagina.
    Come si può evitare questo?

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    metti un foglio di stile in linea del tipo

    body {
    display: none;
    }

    se poi la pagina non cambia (e quindi js è attivo) scrivo il tag body così:

    <body onload="this.style.display = 'block';">
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Originariamente inviato da fcaldera
    metti un foglio di stile in linea del tipo

    body {
    display: none;
    }

    se poi la pagina non cambia (e quindi js è attivo) scrivo il tag body così:

    <body onload="this.style.display = 'block';">
    Non c'avevo pensato.
    Grazie mille

  7. #7
    Ma è possibile che un utente abbia javascript abilitato ma non possa comunque usare l' XMLHttpRequest.
    Bisogna verificare anche l'esistenza dell'ActiveXObject("Microsoft.XMLHTTP");?
    Se si, come?
    grazie

  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    in questo modo crei un'istanza cross-browser

    codice:
        if (typeof XMLHttpRequest != "undefined") {
            xhr = new XMLHttpRequest();
        }
        else {
            try {
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xhr = new ActiveXObject("Microsoft.XMLHTTP");
                } 
                catch (e) {
                    xhr = null;
                }
            }
        }
    poi cmq controlla che xhr sia diverso da null prima di usarlo


    keywords: xmlhttprequest istanza crossbrowser
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  9. #9
    Ecco, è proprio il controllo su xhr che mi interessa.
    Se risulta nullo di solito cosa si fa? Un redirect ad una pagina senza javascript, giusto? E come si fa il redirect con javascript?
    Thanks

  10. #10
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
     
    if ((xhr == null) || (xhr == undefined)) {
      location.href="pagina_senza_js.html";
    }
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.