FF 3.5 sniffing -> custom stylesheet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Tweaker36
  • Registratie: Juni 2007
  • Laatst online: 10-08 10:34
Hoi,

Sinds versie 3.5 gaat Firefox anders om met de kleuren binnen png en jpg afbeeldingen. Om een lang verhaal kort te maken, het komt er op neer dat een kleur van mijn png header, die hetzelfde moet zijn als de kleur voor mijn linkjes, dat in Firefox 3.5 niet meer is.
In FF 2.* en zowat alle andere browsers is die kleur 'correctie' (zoals in FF3.5) niet aanwezig, en zijn er dus geen problemen.

Ik wil dit oplossen door de linkkleur in FF 3.5 aan te passen naar de kleur die hij weergeeft in de png header. Dat is geen probleem, met het volgende stylesheet:

Cascading Stylesheet:
1
2
3
4
5
@charset "utf-8";
/* Firefox 3.5 Fix */
a {
color: #F65A23 !important;
}


In plaats van de gebruikelijke #FF6000 in de algemene stylesheet.

Maar nu, hoe laat je enkel FF 3.5 die aparte css laden?

Volgens deze site kan dat als volgt:

JavaScript:
1
2
3
4
if (BrowserDetect.browser == 'Firefox' && BrowserDetect.version == '3.5')
{
  // Load CSS file
}


Maar dat krijg ik dus niet werkend...

Ik heb het al naar verschillende zaken omgevormd, het meest voor de hand liggende is:
JavaScript:
1
2
3
4
<script type="text/javascript">
if (BrowserDetect.browser == 'Firefox' && BrowserDetect.version == '3.5.1')
document.write('<link href="css/ff35fix.css" rel="stylesheet" type="text/css" />');
</script>


Maar dat schijnt het dus niet te doen. Ik heb alle verschillende delen ge-comment, maar ook dat levert niet het gewilde resultaat op...

Andere zogezegde directe CSS hacks als
Cascading Stylesheet:
1
2
.Browser-Firefox-3-5 a {color: #F65A23 !important}
.Browser-Firefox-3-5-1 a {color: #F65A23 !important}

doen het evenmin.

Een andere oplossing, zou als volgt luiden:
JavaScript:
1
2
3
4
5
6
7
$(document).ready ( 
  function() {
    if ( $.browser.mozilla == true && $.browser.version == '1.9.1.1' ) {
      // modify css here
    }
  }
);

(waarbij de 1.9.1 staat voor de versie van de render engine)

Maar wat ik daar mee moet, zie ik niet direct.

Ik heb hier echt al uren aan bezig gezeten (Wiethoofd wil dat vast getuigen, samen met hem aan bezig geweest ;)), maar ik kom niet een bevredigend resultaat... :/

Kan er iemand me op de juiste weg zetten? :)

Alvast bedankt!! ;)

Acties:
  • 0 Henk 'm!

  • Wiethoofd
  • Registratie: Juli 2007
  • Laatst online: 14-08 12:22

Wiethoofd

Broadcast TOM

Tweaker36 schreef op zaterdag 25 juli 2009 @ 23:38:
Een andere oplossing, zou als volgt luiden:
JavaScript:
1
2
3
4
5
6
7
$(document).ready ( 
  function() {
    if ( $.browser.mozilla == true && $.browser.version == '1.9.1' ) {
      // modify css here
    }
  }
);

Maar wat ik daar mee moet, zie ik niet direct.
Deze controleert de renderengine, FF 3.5 gebruikt de 1.9.1 engine waar 3.0.x de 1.9.0.x renderengine gebruiken.

Volg me op Twitter/X & Bluesky


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 07:53

crisp

Devver

Pixelated

Die bug is al gefixed in de trunk van Firefox, dus de eerstvolgende update van Firefox hoef je er al geen rekening meer mee te houden...

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Tweaker36
  • Registratie: Juni 2007
  • Laatst online: 10-08 10:34
crisp schreef op zaterdag 25 juli 2009 @ 23:44:
Die bug is al gefixed in de trunk van Firefox, dus de eerstvolgende update van Firefox hoef je er al geen rekening meer mee te houden...
Dank! ;)

Dan is het nog maar heel eventjes zo, tot de volgende release.
Goed, dan kijk ik er niet te veel meer naar om. :)