2011-11-08 14 views
61

इस तरह के वेब में बहुत से लेख इस प्रकार हैं: http://www.fontspring.com/blog/fixing-ie9-font-face-problems ईर यूआरएल में ?#iefix जोड़ने का सुझाव देते हैं। मुझे जानने के लिए उत्सुक था कि यह समस्या को हल करने जा रहा है। धन्यवाद।कैसे करता है? #iefix IE6-IE8 में लोड होने वाले वेब फोंट को हल करता है?

उत्तर

73

IE8 और पुराने के पास स्रोत विशेषता के लिए उनके पार्सर्स में एक बग है। इसलिए यदि आप एसआरसी में 1 से अधिक फ़ॉन्ट प्रारूप शामिल करते हैं, तो IE इसे लोड करने में विफल रहता है और 404 त्रुटि रिपोर्ट करता है।
प्रश्न चिह्न उस समस्या को हल करता है क्योंकि यह स्ट्रिंग के बाकी हिस्सों (अन्य स्रोत) को सोचने में आईई को मूर्ख बनाता है, और इसलिए केवल ईओटी फ़ाइल लोड हो रहा है ...
अन्य ब्राउज़र विनिर्देशों का पालन करेंगे और केवल उन्हें लोड करेंगे आवश्यक फ़ॉन्ट प्रकार ...
आप ब्राउज़र एक क्वेरी स्ट्रिंग के रूप में ? के बाद कोई भी वर्ण की व्याख्या को रोकने के लिए है क्यों है के कुछ अन्य के बारे में अधिक पता करने के लिए पॉल आयरिश के Bulletproof @font-face syntax पढ़ा करना चाहते हो सकता है ...

+3

यह अतिरिक्त हैश टैग (? #) के लिए उत्तर नहीं देता है। मूल प्रश्न के लिंक में इसके बारे में एक झटका है, लेकिन यह अस्पष्ट है। – commonpike

+0

यह बिल्कुल अस्पष्ट नहीं है: कुछ दुर्लभ मामलों में, IE विफल हो जाएगा क्योंकि @ फ़ॉन्ट-फेस घोषणा में बहुत से वर्ण हैं। इसे '?' प्रश्न चिह्न के बाद '#' हैश चिह्न जोड़कर अधिकांश मामलों में हल किया जा सकता है। यह आपको थोड़ा अतिरिक्त कमरा खरीदता है ... यह केवल अस्पष्ट है कि यह अतिरिक्त कमरा क्यों खरीदता है। – DrCord

+0

ध्यान दें कि कभी-कभी। इस फ़ॉन्ट के साथ भी आईई 8 में फ़ॉन्ट नहीं काम करेगा (हालांकि फ़ॉन्ट IE9 + में काम करेगा)। यदि आपको यह समस्या है तो कनवर्टर को प्राप्त करने के लिए एक और टीटीएफ का उपयोग करने का प्रयास करें। – cakan

2

?#iefix और इसलिए एक और संभावित सर्वर त्रुटि रोकता है।

17

आप ?#iefix के बजाय कुछ भी कर सकते हैं: मूल उद्देश्य यूआरएल में पहली फ़ॉन्ट फ़ाइल के बाद ?#something डालना है क्योंकि @Rexyz पहले ही उत्तर दे चुका है।

@font-face { 
font-family: 'MyWebFont'; 
src: url('webfont.eot'); /* IE9 Compat Modes */ 
src: url('webfont.eot?#FooAnything') format('embedded-opentype'), /* IE6-IE8 */ 
    url('webfont.woff') format('woff'), /* Modern Browsers */ 
    url('webfont.ttf') format('truetype'), /* Safari, Android, iOS */ 
    url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */ 
} 
+0

सफारी, एंड्रॉइड, आईओएस के लिए '.otf' फोंट भी हैं? – e9t

संबंधित मुद्दे