Ответ 1
Борьба с FOUT в Firefox: Firefox начинает повторное рендеринг текстового события AFTER window.load. Итак, что я сделал, это скрыть контент, такой как Paul Irish, но ПОСЛЕ window.load я все еще жду 200 миллисекунд (чтобы дать время FF для реального рендеринга), а затем покажет страницу.
На моем сайте много изображений, поэтому, чтобы ускорить это, я сначала отправляю страницу без содержания, а затем получаю контент с помощью ajax-вызова. Это большая работа, чтобы удовлетворить FF, но результаты хорошие.
Это мой paul irish вариант, обратите внимание, что вместо отрицательного текстового отступа используется вместо видимости, чтобы быстрее обслуживать посетителя по меньшей мере:
<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>