2010-07-31 11 views

Répondre

15

Combattre la FOUT dans Firefox: Firefox commence re - rendu le texte après événement window.load. Donc ce que j'ai fait est de cacher le contenu comme Paul irlandais, mais AFTER window.load j'attend encore 200 millisec (pour donner le temps FF pour le rendu réel), puis montrer la page.

Mon site a beaucoup d'images, donc pour accélérer cela, j'envoie tout d'abord la page sans contenu, puis j'obtiens le contenu avec un appel ajax. C'est beaucoup de travail pour satisfaire FF, mais les résultats sont bons.

Ceci est mon paul variante irlandais, note-je utiliser text-indent négatif au lieu de visibilité pour servir le visiteur au moins la mise en page plus rapide:

<script> 
    (function(){ 
    var d = document, e = d.documentElement, s = d.createElement('style'); 
    if (e.style.MozTransform === ''){ // gecko 1.9.1 inference 
    // s.textContent = 'body{visibility:hidden}'; 
    s.textContent = 'body{text-indent:-9999px}'; 
    e.firstChild.appendChild(s); 
    function f() 
    { 
    var ffrendertime = setTimeout (function(){s.parentNode && s.parentNode.removeChild(s)} , 200); 
    } 
    addEventListener('load',f,false); 
    setTimeout(f,2000); 
    } 
})(); 
    </script> 
+0

Ce fut vraiment utile, je l'ai changé à 600 au lieu de 200 comme la police ne se chargeait pas assez vite. EDIT: Plus tard, il a changé après que j'ai arrêté d'utiliser l'API api Google - trop lent. –

+0

Quel est le but de ffrendertime –

+0

Ne vaudrait-il pas mieux cacher le texte avec une classe wf-inactive sur la balise html et un style inline dans l'en-tête qui masque tous les nœuds descendants de .wf-inactive qui contiennent un élément de texte plutôt que de faire une solution de contournement farfelue qui charge du texte après le chargement DOM. Pensant que ce serait mieux pour le référencement que le chargement du contenu physique via AJAX. – cchamberlain

18

@Erik,

Il y a eu beaucoup de discussions au sujet de cette question qui appelle Paul Irish FOUT (flash du texte non mis en forme). Il existe de nombreuses façons de limiter ce par

1 Mettre CSS au haut de la page avant tout script Tags

2 Minimisation la taille du fichier de police

3 Mise en cache du navigateur avec un futur lointain expire en-têtes

4 Gziping votre css et fichier de police (WOFF ne peut pas être gzip)

Paul Irish a un grand article à ce sujet: Fighting the @font-face FOUT

Steve Souders a également un grand article sur son blog Sites Web de haute performance: @font-face and performance

Questions connexes