Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Sapere tipo di browser

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    348

    Sapere tipo di browser

    Salve, sicuramente molti di voi diranno che in rete ci sono molti codici per saper quale tipo di browser sto utilizzando, e questo è vero; ma quanti di essi funzionano veramente?
    Io utilizzavo questo script ma mi hanno fatto notare che non funziona con edge e neppure se usi chrome da tablet ios.
    In pratica su pc windows se apro la mia pagina:
    con chrome tutto ok
    con Firefox, opera e IE allora appare il popup che ho impostato
    con edge non appare niente, come se usassi chrome

    Su tablet ios se apro la mia pagina:
    con chrome appare il popup che ho impostato come se utilizzassi un'altro browser
    con Firefox, opera e IE allora appare il popup che ho impostato

    Vi posto il codice che utilizzo e vi chiedo se qualcuno ha qualcosa di meglio o se posso migliorare questo.Grazie
    codice:
    <script>
    function ControllaBrowser() { 
    if ( navigator.userAgent.indexOf("Edge") > -1 && navigator.appVersion.indexOf('Edge') > -1 )
    {
    window.alert("ATTENZIONE! BROWSER EDGE NON PIENAMENTE SUPPORTATO POTREBBERO ESSERCI DEI COMPONENTI NON FUNZIONANTI, SI PREGA DI UTILIZZARE IL BROWSER CHROME, GRAZIE");
    }
    else if( navigator.userAgent.indexOf("Opera") != -1 || navigator.userAgent.indexOf('OPR') != -1 )
    {
    window.alert("ATTENZIONE! BROWSER OPERA NON PIENAMENTE SUPPORTATO POTREBBERO ESSERCI DEI COMPONENTI NON FUNZIONANTI, SI PREGA DI UTILIZZARE IL BROWSER CHROME, GRAZIE");
    }  
    else if( navigator.userAgent.indexOf("Chrome") != -1 )
    {
    }
    else if( navigator.userAgent.indexOf("Safari") != -1)
    {
    window.alert("ATTENZIONE! BROWSER SAFARI NON PIENAMENTE SUPPORTATO POTREBBERO ESSERCI DEI COMPONENTI NON FUNZIONANTI, SI PREGA DI UTILIZZARE IL BROWSER CHROME, GRAZIE");
    } 
    else if( navigator.userAgent.indexOf("Firefox") != -1 )
    {
    window.alert("ATTENZIONE! BROWSER FIREFOX NON PIENAMENTE SUPPORTATO POTREBBERO ESSERCI DEI COMPONENTI NON FUNZIONANTI, SI PREGA DI UTILIZZARE IL BROWSER CHROME, GRAZIE");
    }
    else if( ( navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true ) )	
    {
    window.alert("ATTENZIONE! BROWSER EXPLORER NON PIENAMENTE SUPPORTATO POTREBBERO ESSERCI DEI COMPONENTI NON FUNZIONANTI, SI PREGA DI UTILIZZARE IL BROWSER CHROME, GRAZIE");	
    }	
    }	
    </script>
    </head>
    <body topmargin="10" bottommargin="10" bgcolor="01461a" onLoad="javascript:ControllaBrowser()">
    Chi Crede in Me non Perirà MAI

  2. #2
    In tutto il codice usi indexOf .. != -1, per Edge invece usi > -1 ... Perchè?
    Ad ogni modo, leggi questa doc che spiega abbastanza bene come intercettare le info sul browser in uso
    docs.microsoft.com/en-us/microsoft-edge/web-platform/user-agent-guidance

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    23,956
    A mio avviso, con la pletora di browser disponibili, ciascuno con le proprie caratteristiche che inoltre variano continuamente tra versioni diverse degli stessi browser, quel tipo di rilevamento non ha più molto senso: piuttosto che capire qual è il browser, qual è la versione e così via, oggi si preferisce attuare la cosiddetta Feature Detection.

    In breve, a prescindere dal browser, dalla sua versione, dal vendor e dal motore in questione, si va a verificare nel dettaglio se una determina feature è disponibile oppure no, e in base a quel rilevamento si agisce di conseguenza (ad esempio con un polyfill, ovvero con il "riempimento" di una possibile lacuna con la giusta implementazione) in modo da rendere il sito fruibile allo stesso modo su qualsiasi browser disponibile, in base alle capacità di quest'ultimo piuttosto che discriminandone il nome, il produttore o altre proprietà troppo variabili nelle loro combinazioni.

    Fare una "detection" non è così difficile, ma ci sono degli script ampiamente diffusi che consentono già di effettuare quelle principali al nostro posto e spesso costituiscono una dipendenza obbligatoria per determinati plugin o progetti di siti Web.

    Uno di questi è Modernizr, a cui darei una occhiata per valutare il principio di funzionamento.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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