Pagina 1 di 1

Se {BROWSER_X} visualizza {QUESTO} altrimenti {QUESTALTRO}

Inviato: 24/08/2013, 0:26
da Zeus
Salve!
Non sono proprio sicuro che questa sia la sezione giusta, ma credo possa andare!
Il titolo che ho messo giù è un po' strampalato, ma a grandi linee riassume quello che sto per chiedervi.

Di recente, mi sono messo ad aggiornare il sito in locale, e ho fatto un sacco di modifiche al CSS, una di queste è il cambio del font. Tramite fontsquirrel e il suo generatore, ho scaricato il webkit di ubuntu font, e l'ho installato correttamente. Esso si vede perfettamente su ogni mio browser (Firefox, Google Chrome, Opera, Internet Explorer), eccetto per Safari. Infatti, da quest'ultimo la scritta dentro il contenuto corsivo viene visualizzata parecchio male, esempio:
Immagine
Questa invece, la visualizzazione da tutti gli altri browser:
Immagine

Quello che mi piacerebbe creare, è un codice che permette di rilevare l'uso del browser, quindi l'user-agent. E tramite questo creare una sorte di codice in cui, se il browser utilizzato è Safari, allora la scritta è senza corsivo, altrimenti se non è Safari, la scritta è in corsivo.

Di per sè l'idea è semplice, ma la messa in pratica?
Ringrazio in anticipo chiunque potrà darmi delle dritte! Buona serata! ;)

Re: Se {BROWSER_X} visualizza {QUESTO} altrimenti {QUESTALTR

Inviato: 31/08/2013, 23:10
da Zeus
Ma scusate, adesso che ci stavo pensando, perché visualizzo due cose differenti da Safari e Chrome? Nel senso, loro due utilizzano lo stesso motore di rendering (webkit), come mai non vedo la stessa cosa da entrambi? Ossia, da Chrome lo vedo come tutti gli altri, mentre da Safari lo vedo a modo uso. Eppure la cronologia, i cookie, la cache, ecc. è stato tutto cancellato più volte, utilizzando anche CCleaner. Che abbia fatto qualche strana configurazione (che non ricordo) in Safari che mi stravolge il rendering delle pagine? Boh, o altrimenti non saprei spiegarmelo. Voi che dite?

Re: Se {BROWSER_X} visualizza {QUESTO} altrimenti {QUESTALTR

Inviato: 31/08/2013, 23:26
da Tiger
Zeus,se la modifica interessa i fogli di style css devi apportare loro alcuni accorgimenti di codice browser,ogni broswer interpreta in maniera del tutto differente i fogli di style css.

Re: Se {BROWSER_X} visualizza {QUESTO} altrimenti {QUESTALTR

Inviato: 31/08/2013, 23:45
da Zeus
Tiger ha scritto:Zeus,se la modifica interessa i fogli di style css devi apportare loro alcuni accorgimenti di codice browser,ogni broswer interpreta in maniera del tutto differente i fogli di style css.
Certamente, infatti uso quando è il caso sempre -webkit- e -moz- come prefisso, più il valore standard del CSS3. Appunto perché li uso mi chiedo perché non funziona. Safari non dovrebbe leggere le pagine come Chrome avendo lo stesso motore di rendering?

Re: Se {BROWSER_X} visualizza {QUESTO} altrimenti {QUESTALTR

Inviato: 08/09/2013, 17:25
da Zeus
Ho fatto una prova utilizzando il webfont su Google di ubuntu:

Codice: Seleziona tutto

@import url(http://fonts.googleapis.com/css?family=Ubuntu);
e mi sono accorto che è leggermente diverso dal webkit che ho scaricato da fontsquirrel. Con quello di Google ho risolto il problema del corsivo in Safari, ma non mi piaceva granché. Il font di Google non ha quello peculiarità per cui mi sono innamorato di questo font, per cui mi sono messo a smanettare per trovare il modo di utilizzare il font di Google solo per il corsivo e per il grassetto.. e ci sono riuscito!
In /includes/bbcode.php ho sostituito:

Codice: Seleziona tutto

				'b_open'	=> '<span style="font-weight: bold">',
				'b_close'	=> '</span>',
				'i_open'	=> '<span style="font-style: italic">',
				'i_close'	=> '</span>',
Con:

Codice: Seleziona tutto

				'b_open'	=> '<span id="ubuntubold">',
				'b_close'	=> '</span>',
				'i_open'	=> '<span id="ubuntuitalic">',
				'i_close'	=> '</span>',
E nel common.css del mio stile ho aggiunto:

Codice: Seleziona tutto

#ubuntuitalic {
	font-family: 'Ubuntu';
	font-style: italic;
}

#ubuntubold {
	font-family: 'Ubuntu';
	font-weight: bold;
}

@import url(http://fonts.googleapis.com/css?family=Ubuntu);
E così nei testi in grassetto e corsivo inserito dal bbcode, il font è quello di Google, mentre per il testo normale è ancora quello di fontsquirrel. Per essere pignoli ho anche sostituito il carattere nell'immisione del bbcode: la "i" e la "b". Quindi nel /template/posting_buttons.html ho sostituito:

Codice: Seleziona tutto

<input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onclick="bbstyle(0)" title="{L_BBCODE_B_HELP}" />
	<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}" />
Con:

Codice: Seleziona tutto

<input id="ubuntubold" type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onclick="bbstyle(0)" title="{L_BBCODE_B_HELP}" />
	<input id="ubuntuitalic" type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}" />
E così ho risolto il problema. Spero che queste indicazioni possano essere utili a molti altri. Ciao! ;)