Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Link rossi su Safari

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764

    Link rossi su Safari

    Ho "ereditato" la gestione di un sito dove esistono dei fogli di stile specifici per alcuni browser.

    Tramite un Javascript si fa il detect del browser dell'utente.
    codice:
    BrowserDetect.init();
    document.write('<link rel = "stylesheet" type = "text\/css" href = "styles/' + BrowserDetect.browser + '.css" />');
    document.write('<link rel = "stylesheet" type = "text\/css" href = "styles/' + BrowserDetect.browser + BrowserDetect.version + '.css" />');
    Per Safari (nell'ultima versione), faccio leggere questo file: Safari525.28.css

    Credo di non dire una scioccheza, affermando che, in Safari, quando viene chiamato un file CSS mancante, i link appaiono in rosso.
    Il mio problema è continuare ad aggiornare il nome del file CSS per evitare che i link in Safari diventino rossi.
    Prima o poi uscirà una versione nuova di Safari, ed il mio file dovrà essere aggiornato: ci sarà un momento in cui verrà rilevata (per esempio) la versione Safari25.29, ma non esistendo il file Safari525.29.css, i link appariranno rossi.

    Qualche suggerimento per evitare di controllare periodicamente se è stata rilasciata una nuova versione di Safari e correggere di conseguenza il file?

    Ho pensato di correggere il Javascript, riducendolo alla sola porzione dove viene identificato il browser, ma senza entrare nel dettaglio della versione.
    Questa potrebbe essere una soluzione? Oppure è realistico pensare che facendo così rischio di portarmi nuovi problemi?

    Il CSS specifico per Safari è questo.

    codice:
    div#tvplayer {
        width: 320px;
        height: 255px;
        position: relative;
        left: +108px;
        top: +38px;
    }
    
    img.partner_fixup {
    	position: relative;
    	top: +15px;
    }

  2. #2
    Mah... non sono convinto...

    Safari, come tutti gli altri browser, se non si specifica il colore di un link ne assegna uno di default (com fa IE con quell'orrendo blu e viola).

    Ma la versione che c'entra?
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Sono quasi sicuro sulla faccenda del link rosso.

    La versione cosa c'entra?
    Il Javascript rileva la versione del browser e carica il foglio di stile esterno, cercando un file che si chiamerà: nome browser+versione.css. Per esempio, rileva la versione 525.28 di Safari e quindi cerca il file Safari525.28.css. Se io ho creato il file, tutto bene, in caso contrario, abbiamo una pagina dove c'è un link ad un file css non esistente e quindi ecco che arriva l'errore.
    Riguardo ai link rossi su Safari, sbucano quando si fa riferimento, in un documento, ad un file che non c'è (errore 404), leggi:
    - http://www.adobe.com/cfusion/communi...01&productId=1
    - http://www.communitymx.com/blog/index.cfm?newsid=765


    Come mi suggerite di risolvere? Non mi sembra che abbia molto senso continuare ad aggiornare il file, all'uscita di una nuova versione di Safari.

  4. #4
    Se vuoi scegliere una colorazione devi usare l'attributo "hover"

    A:HOVER { }

    Così dai modo al browser di colorare il link del colore che vuoi te...

  5. #5
    Ma io non capisco ...

    Hai o non hai un file.css principale in cui definisci gli stati del tag A?

    Il tag A lavora allo stesso modo in TUTTI i browser, se ridefinito... altrimenti, ripeto, ogni browser usa il proprio default.

    Quel javascript (anche se lo reputo inadeguato) trova il browser e addirittura la versione!!
    Ma che te ne fai?
    Non ti conviene provare a lavorare con gli standard? Avresti UN file css per tutti e qualche commento condizionale solo per IE
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  6. #6
    Utente di HTML.it L'avatar di emnlmn
    Registrato dal
    Oct 2008
    Messaggi
    263
    Scusa, non capisco il fatto di dover rinnovare il file css per ogni nuova versione del browser, almeno per le regole base come appunto la colorazione dei links... non credo ci siano problemi ad inserire queste regole in un file css che verrà caricato indipendentemente da javascript e quindi dalla versione di safari in uso!
    poi se c'è un motivo specifico del quale non sono a conoscenza allora ritiro tutto

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Premetto che ho ereditato un sito fatto così.

    In questo sito, c'è un CSS specifico per Safari (che ho riportato nel mio primo post), che serve a formattare alcune cose in un certo modo.

    Come si fa a capire se l'utente si connette con Safari? C'è un Javascript che si occupa di questo (ho riportato nel mio primo post anche il Javascript).
    Il Javascript rileva il browser e la versione in uso dall'utente. A fronte di un certo browser, gli manda il relativo foglio di stile.
    Il foglio di stile è riferito al browser e alla versione del browser. Se rileva che l'utente ha la versione 525.28 di Safari, nella pagina verrà scritto il link al file CSS esterno Safari525.28.css.

    Col passare del tempo, vengono rilasciate nuove versioni di Safari. Quando uscirà e verrà rilevata la 525.29, verrà inserito nella pagina il link al css esterno Safari525.29.css.
    Il problema è che quel file non esiste!
    Dovrei monitorare il tutto e, quando esce una nuova versione di Safari, creare quel file. Attenzione: il file è identico per tutte le versioni di Safari, solo ci deve essere e deve chiamarsi così.

    La faccenda colorazione dei CSS è una conseguenza del fatto che in una pagina c'è un link ad un file CSS che non esiste.
    Leggi qui:
    - http://www.adobe.com/cfusion/commun...amp;productId=1
    - http://www.communitymx.com/blog/index.cfm?newsid=765

    Spero di essermi spiegato.

  8. #8
    ma scusa, modifica il file javascript, e fai in modo che quando il browser in uso è safari, usi quel css che hai , che da quello che hai detto è uguale per ogni versione ... quindi perchè farne uno per ogni versione?

  9. #9
    Originariamente inviato da Roby140569
    Premetto che ho ereditato un sito fatto così.

    In questo sito, c'è un CSS specifico per Safari (che ho riportato nel mio primo post), che serve a formattare alcune cose in un certo modo.

    Come si fa a capire se l'utente si connette con Safari? C'è un Javascript che si occupa di questo (ho riportato nel mio primo post anche il Javascript).
    Il Javascript rileva il browser e la versione in uso dall'utente. A fronte di un certo browser, gli manda il relativo foglio di stile.
    Il foglio di stile è riferito al browser e alla versione del browser. Se rileva che l'utente ha la versione 525.28 di Safari, nella pagina verrà scritto il link al file CSS esterno Safari525.28.css.

    Col passare del tempo, vengono rilasciate nuove versioni di Safari. Quando uscirà e verrà rilevata la 525.29, verrà inserito nella pagina il link al css esterno Safari525.29.css.
    Il problema è che quel file non esiste!
    Dovrei monitorare il tutto e, quando esce una nuova versione di Safari, creare quel file. Attenzione: il file è identico per tutte le versioni di Safari, solo ci deve essere e deve chiamarsi così.

    La faccenda colorazione dei CSS è una conseguenza del fatto che in una pagina c'è un link ad un file CSS che non esiste.
    Leggi qui:
    - http://www.adobe.com/cfusion/commun...amp;productId=1
    - http://www.communitymx.com/blog/index.cfm?newsid=765

    Spero di essermi spiegato.
    Stai dando sempre la stessa risposta senza cercare quello che ti stiamo dicendo...
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    @ricman
    Do sempre la stessa risposta, visto che il problema è sempre quello.

    Qualcuno di voi ha letto gli articoli che ho linkato? Se li avreste letti, dovreste aver capito che il problema del link rosso su Safari non è una mia invenzione o paranoia e che non c'entra con gli stati del tag a! Quindi è inutile insistere sulle regole del tag a.

    Cito gli articoli:
    1. "If you run into unexpected red text links in Safari, first check for any CSS documents that might be missing or mislinked. The 404 page will override your defined colors".

    2. "Problem: Defined link styles for your page display properly in all browsers but appear red in Safari. Solution: Check CSS files, linked or imported into your X/HTML document, for 404 errors (page not found). Safari will render the X/HTML 404 page as if it is a CSS document. Thus, if the 404 document has CSS styles defined in the head, it may override your defined link styles."

    @NicManzana
    Come dicevo, ho ereditato il sito fatto così e stavo appunto chiedendo consigli in merito.

    Proverò a modificare il Javascript e in modo da non far rilevare la versione del browser, ma limitarmi a rilevare il browser.

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.