Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    185

    Riconoscere il browser per caricare css diversi.

    Chiedo scusa in anticipo se sono OT,
    come da oggetto ho preparato per un paio di pagine 2 css diversi, uno per IE ed uno per FF.

    Ora con del codice js cerco di individuare il browser per poi caricare il css giusto.

    Dunque, il JS lo uso questa forma:
    codice:
    <script language="JavaScript"> 
     if (document.all){ 
    document.write('<link href="css:
    _ie.css" rel="stylesheet" type="text/css">');
     } else { 
    document.write('<link href="css_ff.css" rel="stylesheet" type="text/css">'); }  </script>
    Sembra funzionare... ma in un'altra pagina dove questo codice JS è "scritto" dentro codice php in questa maniera:

    codice:
    print("<script language=\"JavaScript\">\n"); 
    print("if (document.all){\n"); 
    print("document.write('<link href=\"PuffinDivise.css\" rel=\"stylesheet\" type=\"text/css\">');\n"); 
    print("} else {\n"); 
    print("document.write('<link href=\"PuffinDivise_ff.css\" rel=\"stylesheet\" type=\"text/css\">');\n"); print("}\n"); 
    print("</script>\n");
    Sembra che il css per IE abbia la meglio su quello per FF.
    Cioè lo specifico per FF risente, in alcune classi, della presenza del css_ie. Ne deduco che questo codice non ha escluso il caricamento di uno dei 2 css ma li ha caricati entrambi.

    Come potrei risolvere?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premesso che essendoci il metodo (navigator.appName) x rilevare il browser non vedo perché tu non debba usarlo, anziché "leggere" il documento (guarda qui) per cercare qualcosa + corretto, anche la teoria che carichi alcune classi di Ie a discapito di quelle di FF lo trovo alquanto strana, come prova potresti stamparti a video con un alert il css che carica togliendo il document.write.
    Comunque prova ha togliere gli a capo \n nel codice php che secondo me non servono a niente, ma potrebbero incasinare.
    Inoltre sei sicuro che non puoi controllare lato server col php (che non conosco) il browser in uso e caricare il css adatto, cosi ti risparmi anche del peso inutile.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    185
    Ti ringrazio, ho risolto con navigation.appname ma il problema era un altro.
    Oltre al controllo del browser nella parte php avevo lasciato in chiaro, senza controllo, il caricamente del css di default, quindi li caricava entrambi.

    Che vergogna...

    Comunque, per la cronaca, mi sono accorto dell'inghippo solo grazie alla preziose features in fase di debug di FF, per gli sviluppatori credo sia indispensabile.

    Di nuovo grazie.

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.