回答
在Firefox搏擊FOUT: Firefox啓動重 - 渲染文本之後window.load事件。 因此,我所做的就是隱藏像Paul Irish這樣的內容,但是在window.load之後,我仍然等待200毫秒(爲真實渲染提供FF時間),然後顯示頁面。
我的網站有很多圖片,所以爲了加快速度,我首先發送頁面沒有內容,然後用ajax調用獲取內容。 這是很多工作來滿足FF,但結果是好的。
這是我保羅愛爾蘭的變種,請注意我用的知名度代替負文本縮進,以服務遊客至少佈局速度快:
<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>
這是真正有用的,我改成了600,而不是200作爲字體wasnt加載足夠快。編輯:後來改回了我停止使用谷歌字體API後 - 太慢了。 – 2011-03-09 05:43:20
ffrendeime的點是什麼 – 2013-08-26 20:17:12
在html標記中隱藏一個wf-inactive類的文本並且隱藏所有包含文本元素的.wf-inactive的後代節點的標題中的內聯樣式不會更好而不是做一個古怪的解決方法,在DOM加載後加載文本。認爲這將比通過AJAX加載物理內容更好。 – cchamberlain 2015-03-23 17:37:51
@Erik,
已經有關於這個問題,其中保羅愛爾蘭呼籲FOUT(無樣式的文本的閃光)的討論很多。有許多方法由
1的任何腳本之前,在頁面的最頂端把CSS來限制這種標籤
2最小化的字體文件
3瀏覽器緩存與遙遠的未來的規模Expires頭
4 Gziping你的CSS和字體文件(WOFF不能用gzip壓縮)
保羅愛爾蘭大約有一個很好的文章:Fighting the @font-face FOUT
史蒂夫Souders的也有他的高性能網站博客一個偉大的文章:@font-face and performance
下面是當網頁字體有檢測解決方案而完全不必
- 1. 實體框架 - 停止延遲加載相關實體按需?
- 2. 避免字體的延遲加載
- 3. 延遲加載谷歌字體類型
- 4. 停止閃爍文字javascript
- 5. AS3停止移動物體的閃爍
- 6. 停止閃爍從閃爍
- 7. 對實體延遲加載
- 8. 停止閃爍
- 9. QML預加載字體
- 10. 延遲加載,延期加載和實體加載實體框架
- 11. 休眠停止延遲加載
- 12. JPA2 /休眠 - 停止延遲加載?
- 13. 停止延遲加載圖像?
- 14. Rails 3.2.13:停止ActiveRecord延遲加載
- 15. 身體和頭文字閃爍,而社交媒體的插件加載
- 16. 實體框架 - 延遲加載,加載子實體問題
- 17. Windows(IE和Firefox)上的像素化字體(字體 - 臉部)
- 18. 添加延遲停止()。hide()
- 19. 延遲加載字典
- 20. Firefox - 字體改變:懸停
- 21. 砌體,延遲加載和ACF庫字段
- 22. 延遲執行JavaScript的畫布,直到字體已經加載
- 23. 如何延遲加載由@ font-face聲明的網頁字體?
- 24. Symfony2和Doctrine:代理類不會延遲加載實體字段
- 25. 直到字體加載完成後延遲div可見性
- 26. 實體框架4 - 延遲加載昂貴的字段
- 27. 實體框架延遲加載
- 28. 實體框架,SQLite和延遲加載
- 29. LINQ到實體延遲加載
- 30. 延遲加載框架實體問題
重複使用定時器加載:http://stackoverflow.com/questions/1330825/preloading-font-face-fonts – user123444555621 2010-07-31 20:33:06