2009-06-07 7 views
0

Ich erstelle eine Website, CardinalCoffee.com, mit sIFR.Bestimmte sIFR-Selektoren funktionieren nicht in Safari - extrem ungewöhnlicher Bug:

Es ist nicht ganz bereit zu gehen, so dass der Zugang von

 
72.249.85.228 cardinalcoffee.com 
72.249.85.228 www.cardinalcoffee.com 

zu/etc Hinzufügen/hosts (C: \ WINDOWS \ system32 \ drivers \ etc \ hosts unter Windows).

Auf der Blog-Seite (http://cardinalcoffee.com/blog/), und nur auf der Blog-Seite, scheitern bestimmte sIFR-Selektoren - aber nur in Safari. Die sIFR-basierten Navigations- und Blogpost-Unterüberschriften erscheinen nicht auf der Blog-Seite, aber sie tun alles woanders (und in allen anderen Browsern ist/blog/page in Ordnung).

Hier sind die relevante Auswahl von sifr-config.js:

 
sIFR.replace(itc_anna_std, { 
    selector: '#top_nav li a', 
    css: [ 
     '.sIFR-root {.sIFR-root { background-color: #f8eca8; color: #FFBF11; }', 
     'a { text-decoration: none; color: #FFBF11;}', 
     'a:link { color: #FFBF11; color: #FFBF11;}', 
     'a:hover { color: #FFBF11; color: #FFBF11;}' 
    ], 
    wmode: 'transparent', 
    forceSingleLine: true, 
    tuneWidth: 2 
}); 
sIFR.replace(itc_anna_std, { 
    selector: '.non-admin #content_column .entry h2 a', 
    css: [ 
     '.sIFR-root { background-color: #f8eca8; color: #170504; text-align:left;}', 
     'a {text-decoration:none; color: #170504;}', 
     'a:hover { color: #170504; }'  
    ], 
    wmode: 'transparent', 
    tuneHeight: -18, 
    offsetTop: -6 
}); 

Zusätzlich wird die font-size Erklärung Qualifier (Selektor: .entry eine h2) ignoriert zu werden scheint. Hier ist die dazugehörige Stilregel von sifr.css:

 
    .sIFR-active .non_admin #content_column .entry h2 { 
     font-size: 36px; 
    visibility: hidden; 
    } 

Dies ist eine WordPress-Website.

[Bearbeiten]: scheint, dass diese Regel irgendwie schuld ist: (i. Die anderen sIFR zum Anfang der Datei und die Navigation ersetzen bewegt begann fehlerlos zu laden)

 
sIFR.replace(itc_anna_std, { 
    selector: '.non-admin #content-column .entry h2', 
    css: [ 
     '.sIFR-root { background-color: #f8eca8; color: #170504;}', 
     'a { text-decoration: none; color: #170504;}', 
     'a:link { text-decoration: none; color: #170504;}', 
     'a:hover { color: #170504;}' 
    ], 
    wmode: 'transparent', 
    tuneHeight: -18, 
    offsetTop: -6 
}); 

+0

Verwenden Sie ein Bild ...? –

+0

Ich schätze Ihren aufschlussreichen Kommentar! Aber die Navigation muss dynamisch generiert werden, und die Verwaltung von ImageMagick + Wordpress, durch die Notwendigkeiten der Bildtransparenz über einen komplexen Hintergrund verwirrt sind nur absurd in Komplexität, im Vergleich zu einem wenn auch ärgerlichen sIFR-Fehler. Ich hoffe, dass meine Lösung für andere Entwickler, die sIFR einsetzen, von Wert sein wird. –

Antwort

0

In Ordnung, sieht aus wie die Tatsache, dass der <eine> in jedem <h2> eine Klasse zugewiesen wurde, weil ich eine Edit-in-Place-Funktion mit Flutter aktiviert hatte.

Als ich die Klasse auf <a> entfernte, kamen die Ersetzungen gut durch.

noch nicht erklären, warum die Bewegung des Kopf div.SimpleSideNav ul.sf li sIFR Ersatz an die Spitze der sifr-config.js Konfigurationen machte es funktionieren, aber ich werde nicht ein Geschenk Pferd suchen im Mund.

+0

Nicht sicher, aber es sieht so aus, als hättest du es herausgefunden :) Es ist möglich, dass es Probleme bezüglich der Selektorspezifität gab. sIFR erfordert, dass Sie zuerst die spezifischsten Ersetzungen vornehmen. BTW, Sie können Links nicht direkt ersetzen, sie funktionieren nicht ordnungsgemäß über den Browser. Sie müssen ihr übergeordnetes Element ersetzen, damit der Link im Flash-Film endet. –