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

    Intercettare tipo di browser?

    Buon giorno, lo so, già se n'è discusso qui http://forum.html.it/forum/showthrea...capire+browser e ho letto e scaricato qui http://techpatterns.com/downloads/ja..._detection.php lo script che "dovrebbe" uso il condizionale,funzionare, perchè a me non funziona...

    Vorrei sapere per cortesia, se c'è un'altro script semplicissimo, che possa intercettarmi il tipo di browser, per fare un controllo ed includere, a seconda del tipo il CSS appropriato.

    Sapete aiutarmi per favore?

    Grazie mille....

  2. #2
    Se vuoi caricare un foglio specifico per IE ( quasi certamente è quello che vuoi fare ) c'è un modo molto più semplice che non usa javascript.

    Oltra al foglio di stile normale ti crei un foglio di stile css apposta per internet explorer. Dopo lo includi così.


    Puoi anche decidere di far leggere il foglio di stile solo ad una versione di IE, ad esempio per le versioni minori o uguali alla 6



    Se poi ti serve caricare un foglio di stile per Opera devi usare le media queries, anche se in questo caso va tutto inserito dentro il foglio di stile standard ( e la validazione va a farsi benedire )

  3. #3
    grazie per avermi risposto, comunque per il IE già adotto i "commenti condizionali".
    Però mi serviverebbe qualcosa anche per FireFox, Opera etc etc...

    Le "Media queries"?Potresti spiegarmi meglio?
    Grazie mille...

  4. #4
    @media screen a { color:blue; }

    I link saranno blu solo con Opera ( è bastato premettere prima di una proprietà @media screen ). Credo si possa usare anche @media all per far in modo che funzioni anche con gli alri media.
    Il problema è che questa soluzione è molto, molto provvisoria.

  5. #5
    scusami, ma te come includi i vari CSS a seconda dei browser?

  6. #6
    Purtroppo, apparte che con IE, non si può fare senza l'ausilio di javascript. Questo hack delle media queries non permette di includere un file css apposta per opera, semplicemente è un selettore che funziona solo con Opera, che va messo nel foglio di stile normale.

    Per Firefox invece, gli hack non esistono proprio ( non che servano a qualcosa ).

  7. #7
    sembra al momento funzioni e quindi di aver risolto cosi:
    codice:
    //nella pagina dove vado ad includere i vari css es: default.htm
    <head>
     <title>Browser information Page</title>
    
     <meta http-equiv = "Content-Type" content = "text/html; charset = iso-8859-1" >
     <link rel = "stylesheet" type = "text/css" href = "css/cmf.css" >
     <script type = "text/javascript" src = "js/browser_detection.js"> </script>
     <script type = "text/javascript">browser_css('');
    
    function browser_css( ) {
    d = document;// shorthand so we don't have to write out document each time..
    if ( ie5mac ) {
    	d.write('<link rel = "stylesheet" type = "text\/css" href = "css/ie5mac.css" />');
    }
    else if ( d.layers ){
    	d.write('<link rel = "stylesheet" type = "text\/css" href = "css/ns4x.css" />');
    }
    else if ( ie ){//per tutti gli IE
    	d.write('<link rel = "stylesheet" type = "text\/css" href = "css/IE.css" />');
    }
    else if ( moz ){//per firefox
    	d.write('<link rel = "stylesheet" type = "text\/css" href = "css/FF.css" />');
    }
    else if ( op ){//per opera
    	d.write('<link rel = "stylesheet" type = "text\/css" href = "css/OP.css" />');
    }
    else {
    	d.write('< link rel = "stylesheet" type = "text\/css" href = "css/moz5.css" />');
    }
    }
    </script>
    </head>
    
    
    <body>
    <div id="container">
    
    
    //poi dentro questa directory "js/" inserisco questo file.js "browser_detection.js"
    var d, dom, ie, ie4, ie5x, moz, mac, win, lin, old, ie5mac, ie5xwin, op;
    
    d = document;
    n = navigator;
    na = n.appVersion;
    nua = n.userAgent;
    win = ( na.indexOf( 'Win' ) != -1 );
    mac = ( na.indexOf( 'Mac' ) != -1 );
    lin = ( nua.indexOf( 'Linux' ) != -1 );
    
    if ( !d.layers ){
    	dom = ( d.getElementById );
    	op = ( nua.indexOf( 'Opera' ) != -1 );
    	konq = ( nua.indexOf( 'Konqueror' ) != -1 );
    	saf = ( nua.indexOf( 'Safari' ) != -1 );
    	moz = ( nua.indexOf( 'Gecko' ) != -1 && !saf && !konq);
    	ie = ( d.all && !op );
    	ie4 = ( ie && !dom );
    
    	/*
    	ie5x tests only for functionality. ( dom||ie5x ) would be default settings. 
    	Opera will register true in this test if set to identify as IE 5
    	*/
    
    	ie5x = ( d.all && dom );
    	ie5mac = ( mac && ie5x );
    	ie5xwin = ( win && ie5x );
    }
    Questo al momento è quanto.
    Ho una curiosità ancora, utilizzando questo metodo incorrerò in problemi e se si, mi dite quali?

    Grazie mille....

    PS: ho letto nella guida CSS le "media queries"

  8. #8
    Quando Firefox supporterà le media queries, questa tattica andrà a farsi benedire.
    I commenti condizionali di IE invece puoi usarli con tranquillità.

  9. #9
    certo, e quando le supporterà, toglierò questo controllo in js implementando le "media queries".

    Grazie mille...per gli aiuti!!

    Buona giornata !!!

  10. #10
    Originariamente inviato da ANTAGONIA
    certo, e quando le supporterà, toglierò questo controllo in js implementando le "media queries".
    Veramente io intendevo l'esatto contrario ORA puoi usare le media queries per Opera, un domani no.
    Ma visto che per adesso hai risolto lascia perdere le media queries.

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