เหตุผลหนึ่งคือนักออกแบบเว็บในปัจจุบันต้องการที่จะใช้แบบอักษรเว็บ (โดยปกติในWOFFรูปแบบ) เช่นผ่านอักษรเว็บของ Google
ก่อนหน้านี้ฟอนต์เดียวที่สามารถแสดงบนไซต์ได้คือฟอนต์ที่ผู้ใช้ติดตั้งไว้ในเครื่อง เนื่องจากเช่นผู้ใช้ Mac และ Windows ไม่จำเป็นต้องมีแบบอักษรเหมือนกันนักออกแบบจึงกำหนดกฎไว้โดยสัญชาตญาณเสมอ
font-family: Arial, Helvetica, sans-serif;
โดยที่หากไม่พบตัวอักษรตัวแรกในระบบเบราว์เซอร์จะมองหาตัวที่สองและสุดท้ายก็คือตัวอักษร "sans-serif" ทางเลือกสุดท้าย
ตอนนี้หนึ่งสามารถให้ URL แบบอักษรเป็นกฎ CSS เพื่อรับเบราว์เซอร์เพื่อดาวน์โหลดแบบอักษรเช่น:
@import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700);
จากนั้นโหลดแบบอักษรสำหรับองค์ประกอบเฉพาะโดยเช่น:
font-family: 'Droid Serif',sans-serif;
สิ่งนี้เป็นที่นิยมอย่างมากที่จะสามารถใช้แบบอักษรที่กำหนดเองได้ แต่มันก็นำไปสู่ปัญหาที่ไม่มีข้อความใดแสดงจนกว่าเบราว์เซอร์จะโหลดทรัพยากรซึ่งรวมถึงเวลาในการดาวน์โหลดเวลาในการโหลดแบบอักษรและเวลาการแสดงผล ฉันคาดหวังว่านี่คือสิ่งประดิษฐ์ที่คุณกำลังประสบ
ตัวอย่างเช่นหนึ่งในหนังสือพิมพ์ระดับชาติของฉันDagens Nyheterใช้แบบอักษรบนเว็บสำหรับพาดหัวของพวกเขา แต่ไม่ใช่โอกาสในการขายของพวกเขาดังนั้นเมื่อโหลดไซต์นั้นฉันมักจะเห็นลูกค้าที่มุ่งหวังคนแรกและครึ่งวินาทีต่อมาช่องว่างด้านบนทั้งหมด พร้อมพาดหัว (เป็นจริงใน Chrome และ Opera อย่างน้อยก็ยังไม่ได้ลองเลย)
(เช่นนักออกแบบโรย JavaScript ทุกวันดังนั้นอาจมีบางคนพยายามทำสิ่งที่ฉลาดด้วยข้อความซึ่งเป็นสาเหตุว่าทำไมมันถึงล่าช้านั่นอาจเป็นเรื่องเฉพาะของไซต์ แต่: แนวโน้มทั่วไปของข้อความที่จะล่าช้าในสิ่งเหล่านี้ ครั้งคือปัญหาแบบอักษรของเว็บที่อธิบายข้างต้นฉันเชื่อว่า.)
ส่วนที่เพิ่มเข้าไป
คำตอบนี้กลายเป็น upvote มากแม้ว่าฉันจะไม่ได้ลงรายละเอียดมากหรืออาจเป็นเพราะเหตุนี้ มีความคิดเห็นมากมายในเธรดคำถามดังนั้นฉันจะพยายามขยายความคิดเห็นเล็กน้อย (ความคิดเห็นจำนวนมากดูเหมือนจะหายไปครู่หนึ่งหลังจากหัวข้อได้รับการปกป้อง - ผู้ดูแลบางคนอาจทำความสะอาดด้วยตนเอง) นอกจากนี้อ่านคำตอบอื่น ๆ ในชุดข้อความนี้ขณะที่พวกเขาขยายในรูปแบบของตนเอง
เห็นได้ชัดว่าปรากฏการณ์นี้เป็นที่รู้จักกันในนาม "แฟลชของเนื้อหาที่ไม่มีการจัดสไตล์" โดยทั่วไปและ "แฟลชของข้อความที่ไม่มีการจัดรูปแบบ" โดยเฉพาะ การค้นหา "FOUC" และ "FOUT" ให้ข้อมูลเพิ่มเติม
ฉันสามารถขอแนะนำโพสต์นักออกแบบเว็บไซต์พอลไอริชใน fout ในการเชื่อมต่อกับเว็บแบบอักษร
สิ่งที่สามารถสังเกตได้คือเบราว์เซอร์ที่แตกต่างกันจัดการสิ่งนี้แตกต่างกัน ฉันเขียนไว้ข้างต้นว่าฉันได้ทดสอบ Opera และ Chrome แล้วซึ่งทั้งสองคนมีพฤติกรรมคล้ายกัน คนที่ใช้ WebKit ทั้งหมด (Chrome, Safari, ฯลฯ ) เลือกที่จะหลีกเลี่ยง FOUT โดยไม่แสดงข้อความตัวอักษรบนเว็บด้วยแบบอักษรสำรองในระหว่างระยะเวลาการโหลดแบบอักษรบนเว็บ แม้ว่าตัวอักษรเว็บแคชมีจะมีความล่าช้าทำให้ มีความคิดเห็นจำนวนมากในกระทู้คำถามนี้ที่พูดเป็นอย่างอื่นและมันไม่ถูกต้องว่าแบบอักษรที่แคชไว้มีลักษณะเช่นนี้ แต่เช่นจากลิงค์ด้านบน:
คุณจะได้รับอะไรในกรณีใดบ้าง
- จะ: การดาวน์โหลดและแสดง ttf / otf / woff ระยะไกล
- จะ:แสดงแคช ttf / otf / woff
- จะ: การดาวน์โหลดและแสดง data-uri ttf / otf / woff
- จะ:แสดงแคชข้อมูล -turi ttf / otf / woff
- จะไม่:แสดงแบบอักษรที่ติดตั้งแล้วและตั้งชื่อแล้วในแบบอักษรสแต็กดั้งเดิมของคุณ
- จะไม่:แสดงแบบอักษรที่ติดตั้งและตั้งชื่อโดยใช้ตำแหน่ง local ()
เนื่องจาก Chrome รอจนกระทั่งความเสี่ยง FOUT หายไปก่อนที่จะแสดงผลสิ่งนี้จึงล่าช้า ซึ่งขอบเขตผลกระทบที่จะมองเห็นได้ (โดยเฉพาะอย่างยิ่งเมื่อโหลดจากแคช) ดูเหมือนว่าจะขึ้นอยู่กับหมู่สิ่งอื่น ๆ จำนวนของข้อความที่จะต้องมีการแสดงผลและบางทีอาจจะมีปัจจัยอื่น ๆ แต่แคชไม่สมบูรณ์ลบผลกระทบ
Irish ยังมีการอัปเดตบางอย่างเกี่ยวกับพฤติกรรมของเบราว์เซอร์ตั้งแต่ 2011–04–14 ที่ด้านล่างของโพสต์:
- Firefox (ตั้งแต่ FFb11 และ FF4 Final) จะไม่มี FOUT! Wooohoo! http://bugzil.la/499292โดยทั่วไปข้อความจะไม่ปรากฏเป็นเวลา 3 วินาทีจากนั้นจะนำแบบอักษรสำรองกลับมา webfont อาจโหลดภายในสามวินาทีแม้ว่า ... หวังว่า ..
- IE9 รองรับ WOFF และ TTF และ OTF (แม้ว่าจะต้องใช้ชุดบิตฝัง - ส่วนใหญ่จะ moot ถ้าคุณใช้ WOFF) อย่างไรก็ตาม !!! IE9 มีข้อผิดพลาด :(
- Webkit มีโปรแกรมแก้ไขที่รอลงจอดเพื่อแสดงข้อความทางเลือกหลังจาก 0.5 วินาที พฤติกรรมเช่นเดียวกับ FF แต่ 0.5 วินาทีแทนที่จะเป็น 3 วินาที
- เพิ่มเติม : Blink มีข้อผิดพลาดในการลงทะเบียนเช่นกันแต่ดูเหมือนว่าฉันทามติขั้นสุดท้ายยังไม่ได้รับการพิจารณาเกี่ยวกับสิ่งที่ต้องทำกับมัน - ขณะนี้การใช้งานแบบเดียวกับ WebKit
หากนี่เป็นคำถามสำหรับนักออกแบบเราสามารถหาวิธีหลีกเลี่ยงปัญหาเหล่านี้ได้เช่นwebfontloader
แต่นั่นจะเป็นอีกคำถามหนึ่ง ลิงค์ Paul Irish มีรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้