La lucha contra el FOUT en Firefox: Firefox comienza re - procesar el texto después del evento window.load. Entonces, lo que hice fue ocultar el contenido como lo hace Paul Irish, pero DESPUÉS de window.load sigo esperando 200 milisegundos (para dar tiempo de FF para la representación real), y luego mostrar la página.
Mi sitio tiene muchas imágenes, así que para acelerar esto, primero envío la página casi sin contenido, y luego obtengo el contenido con una llamada ajax. Eso es mucho trabajo para satisfacer a FF, pero los resultados son buenos.
Ésta es mi variante Paul irlandés, tenga en cuenta que utilizar el texto-guión negativo en lugar de visibilidad para servir al visitante, al menos, la disposición más rápido:
<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>
duplicado: http://stackoverflow.com/questions/1330825/preloading-font-face-fonts – user123444555621