2015-09-11 15 views
5

मैं इस वेब फ़ॉन्ट चीज़ के लिए नया हूं। मैं समझता हूं कि एक निश्चित फ़ॉन्ट को एक यूआरएल से डाउनलोड किया जा सकता है और वेब पेज में इस्तेमाल किया जा सकता है।गतिशील रूप से वेब फ़ॉन्ट लोड करें

मेरा प्रश्न है: क्या उपयोगकर्ता इनपुट के आधार पर गतिशील रूप से एक वेब फ़ॉन्ट लोड करना संभव है? बस परिदृश्य: पाठ फ़ील्ड में कुछ पाठ में उपयोगकर्ता टाइप करें और एक फ़ॉन्ट नाम का चयन करें जो अभी तक लोड नहीं हुआ था। कुछ जावास्क्रिप्ट कोड गतिशील रूप से एक वेब फ़ॉन्ट संसाधन लोड करने के लिए ट्रिगर किया गया है। क्या यह संभव है?

+1

हमें कुछ HTML के साथ काम करने के लिए शुरू करें। उदाहरण के लिए, आप कहते हैं कि आप उपयोगकर्ता इनपुट चाहते हैं तो एक इनपुट फ़ील्ड है। लेकिन क्या उपयोगकर्ता को पूर्व परिभाषित सूची से चुनने में सक्षम होना चाहिए, या यह कोई फ़ॉन्ट हो सकता है? उत्तरार्द्ध एक अच्छा विचार नहीं है क्योंकि बहुत सारे फ़ॉन्ट हैं जो उपयोग करने के लिए स्वतंत्र नहीं हैं। साथ ही, आप अपने वेबफोंट कहां से प्राप्त करना चाहते हैं? गूगल फ़ॉन्ट्स? या एक और संसाधन? और वजन के बारे में क्या? सभी उपलब्ध वजन, या केवल 'सामान्य'? और क्या होगा जब उपयोगकर्ता उस फ़ॉन्ट को इनपुट करता है जिसे वह चाहता है? क्या सभी बॉडी टेक्स्ट उस फ़ॉन्ट बन जाएंगे? बहुत सारे स्वाल। तो कृपया आगे निर्दिष्ट करें। –

+0

http://stackoverflow.com/questions/14856721/ गतिशील रूप से-load-fonts-html-jquery –

+0

यह भी मदद कर सकता है http://stackoverflow.com/questions/16553326/ गतिशील-load-google-fonts-after-page -has-loaded –

उत्तर

8

प्रयास करें इस (Google वेब फ़ॉन्ट के लिए):

<span>Select font:</span> 
<select onchange=fontSelected(event)> 
    <option value="default">Browser Default</option> 
    <option value="Droid+Sans">Droid Sans</option> 
    <option value="Open+Sans">Open Sans</option> 
</select> 
<h1 id="theText">This is a sample text...</h1> 

function fontSelected(e){ 
    var select = e.target; 
    if (select.selectedIndex > 0) { // web font 
     var fontID = select.options[select.selectedIndex].value; 
     if (!document.getElementById(fontID)) { 
      var head = document.getElementsByTagName('head')[0]; 
      var link = document.createElement('link'); 
      link.id = fontID; 
      link.rel = 'stylesheet'; 
      link.type = 'text/css'; 
      link.href = 'http://fonts.googleapis.com/css?family='+fontID; 
      link.media = 'all'; 
      head.appendChild(link); 
     } 
     document.getElementById("theText").style.fontFamily = select.options[select.selectedIndex].innerHTML; 
    }else{ // default browser font 
     document.getElementById("theText").style.fontFamily = null; 
    } 
} 

http://jsfiddle.net/zejz2tkp/1/

इस कोड को इस पोस्ट पर bassed है: http://amirush.blogspot.ro/2013/07/dynamic-loading-of-web-fonts.html

तुम भी विद्यमान जवाब में से किसी एक का उपयोग कर सकते हैं: Load external font with javascript and jquery या dynamically load fonts html jquery

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