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.
Per Safari (nell'ultima versione), faccio leggere questo file: Safari525.28.csscodice: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" />');
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; }

Rispondi quotando