Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Detect browser

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,556

    Detect browser

    Ciao a tutti
    sto cercando di far funzionare uno script che ho preso dalla rete e modificato, ma mi da errore su un ciclo.
    In pratica in base al browser e alla sua versione dovrebbe scrivere nella pagina un codice HTML.

    sembrerebbe però che sul ELSE ci sia un errore

    codice:
    <SCRIPT language="JavaScript">
    <!--
    var browserName=navigator.appName; 
    var browserVer=parseInt(navigator.appVersion); 
    if ((browserName=="Netscape" && browserVer>=3) || (browserName=="Microsoft Internet Explorer" && browserVer>=7)) 
      version="n3"; 
    else 
      version="n2"; 
    
    if (version=="n3")
    document.write('<div style="position:fixed;bottom:0;right:0;padding: 5px; width: 150px;z-index:3000;">');
    document.write('CLOSE X</div>');
    document.write('<div id="myContent1" style="width:100%;z-index:2000;position:fixed;left:0px; bottom:0px; display: block; padding: 5px; background-color:#A14C0C; ">');
    document.write('<a style="color:#A14C0C; text-decoration:underline" rel="nofollow" ');
    document.write('href="javascript:myLightWindow.activateWindow({href:\'http://www.DOMAIN.com/me.html\', title: \'Chiama\',width: \'985\', height: \'550\'});">');
    document.write('</a></div>');
    else
    document.write("nulla");
    //-->  
    </SCRIPT>
    Però se inverto in questo modo non mi da errore
    codice:
    <!--
    var browserName=navigator.appName; 
    var browserVer=parseInt(navigator.appVersion); 
    if ((browserName=="Netscape" && browserVer>=3) || (browserName=="Microsoft Internet Explorer" && browserVer>=7)) 
      version="n3"; 
    else 
      version="n2"; 
    
    if (version=="n3")
    document.write("nulla");
    else
    document.write('<div style="position:fixed;bottom:0;right:0;padding: 5px; width: 150px;z-index:3000;">');
    document.write('CLOSE X</div>');
    document.write('<div id="myContent1" style="width:100%;z-index:2000;position:fixed;left:0px; bottom:0px; display: block; padding: 5px; background-color:#A14C0C; ">');
    document.write('<a style="color:#A14C0C; text-decoration:underline" rel="nofollow" ');
    document.write('href="javascript:myLightWindow.activateWindow({href:\'http://www.DOMAIN.com/me.html\', title: \'Chiama\',width: \'985\', height: \'550\'});">');
    document.write('</a></div>');
    //-->

    Dove sto sbagliando ?
    Mille grazie per il vostro aiuto
    sempre più co...one

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ci sono apici singoli all'interno delle stringhe devi anteporre il carattere \ se vuoi considerarle come parte delle stringhe stesse e non il carattere di fine stringa, se usi un editor di testo decente di solito vedi le stringhe in colore diverso ed è facile accorgersi del problema... inoltre se non usi le graffe nell'if js considererà solo la prima linea di codice sottoposta a tale verifica, mentre le restanti righe di codice saranno sempre eseguite.

    p.s. non vedo nessun ciclo nel codice che hai postato

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,556
    Ciao ti ringrazio per le spiegazioni.
    Ho provato a sistemare il file in questo modo

    codice:
    <SCRIPT language="JavaScript">
    <!--
    var browserName=navigator.appName; 
    var browserVer=parseInt(navigator.appVersion); 
    if ((browserName=="Firefox" && browserVer>=5) || (browserName=="Microsoft Internet Explorer" && browserVer>=7)) {
      version="n3"; 
      }
    else {
      version="n2"; 
    }
    if (version=="n3"){
    document.write("");
    }
    else{
    document.write('<div style="position:fixed;bottom:0;right:0;padding: 5px; width: 150px;z-index:3000;">');
    document.write('CLOSE X</div>');
    document.write('<div id="myContent1" style="width:100%;z-index:2000;position:fixed;left:0px; bottom:0px; display: block; padding: 5px; background-color:#A14C0C; ">');
    document.write('<a style="color:#A14C0C; text-decoration:underline" rel="nofollow" ');
    document.write('href="javascript:myLightWindow.activateWindow({href:\'http://www.DOMAIN.COM/call.html\', title: \'Call\',width: \'985\', height: \'550\'});">');
    document.write('</a></div>');
    }
    //-->  
    </SCRIPT>
    Mettendo il segno \ davanti ad ogni singolo apice presente nel codice mi da errore
    Ho testato ugualmente lo script e infatti non funziona correttamente, infatti con IE6 si dovrebbe vedere il codice HTML dell'ultima parte


    Grazie ancora
    sempre più co...one

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    il \ prima di ' non dopo

    si:

    (\'myContent1\',\'myHeader1\')

    no:

    ('\myContent1'\,'\myHeader1'\)


    Massimo

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,556
    Ciao Massimo
    grazie mille...
    Il simbolo \ dove me lo hai indicato l'avevo già trovato così, quindi l'ho preso già errato
    Grazie per la precisazione.

    Lo script però continua a non funzionare nel modo corretto.

    Ho impostato lo script in questo modo

    codice:
    if ((browserName=="Netscape" && browserVer>=3) || (browserName=="Microsoft Internet Explorer" && browserVer>=7))
    ma questa parte di codice

    codice:
    document.write('<div style="position:fixed;bottom:0;right:0;padding: 5px; width: 150px;z-index:3000;">');
    document.write('CLOSE X</div>');
    document.write('<div id="myContent1" style="width:100%;z-index:2000;position:fixed;left:0px; bottom:0px; display: block; padding: 5px; background-color:#A14C0C; ">');
    document.write('<a style="color:#A14C0C; text-decoration:underline" rel="nofollow" ');
    document.write('href="javascript:myLightWindow.activateWindow({href:\'http://www.domain.com/call-me.html\', title: \'Call Me Back\',width: \'985\', height: \'550\'});">');
    document.write('</a></div>');
    non viene visto da nessun browser IE

    Probabilmente questo codice non riesce a riconoscere la versione corretto di IE

    Grazie a tutti
    sempre più co...one

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    es:

    navigator.appVersion su MSIE 8 risultato 4.0 (compatible; MSIE 8.0........)

    codice:
    if ((browserName=="Netscape" && browserVer>=4) || (browserName=="Microsoft Internet Explorer" && browserVer>=4))
    non c'è \ davanti agli agli apici singoli

    (\'myContent1\',\'myHeader1\')

    ES:

    codice:
    <script type="text/javascript">
    browsername=navigator.appName;
    if (browsername.indexOf("Netscape")!=-1) {browsername="NS"}
    else
    {if (browsername.indexOf("Microsoft")!=-1) {browsername="MSIE"}
    else {browsername="N/A"}};
    browser="0";
    if (navigator.appVersion.indexOf("2.0")!=-1) {browser="2"};
    if (navigator.appVersion.indexOf("3.0")!=-1) {browser="3"};
    if (navigator.appVersion.indexOf("4.0")!=-1) {browser="4"};
    if (navigator.appVersion.indexOf("5.0")!=-1) {browser="5"};
    if(browser== "5"){
    document.write("FF 11 - MSIE 9")
    }
    </script>
    Massimo.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,556
    Mille grazie veramente molto gentile.
    sempre più co...one

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,556
    Stavo provando lo script
    però non ho capito dal codice come fa a capire che si tratta di IE 6 o IE 7
    sempre più co...one

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    se hai la possibilità di usare Msie 6 e 7

    fatti stampare l'appVersion

    io ho solo Msie 8 e FF 11

    dovrebbe essere (non sono sicuro)

    if (navigator.appVersion.indexOf("2.0")!=-1) {browser="2"}; // Versione 6
    if (navigator.appVersion.indexOf("3.0")!=-1) {browser="3"}; // Versione 7
    if (navigator.appVersion.indexOf("4.0")!=-1) {browser="4"}; // Versione 8
    if (navigator.appVersion.indexOf("5.0")!=-1) {browser="5"}; // Versione 9

    document.write(navigator.appVersion)

    Massimo.

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,556
    Ok
    mille grazie nuovamente.
    A presto.
    sempre più co...one

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 © 2024 vBulletin Solutions, Inc. All rights reserved.