jquery - Can I load external stylesheets on request? -
$। GetScript ('ajax / test.js', फ़ंक्शन () {चेतावनी ('लोड किया गया था। ');});
.. उपरोक्त कोड की तरह जो अनुरोध पर एक बाहरी जेएस लोड करता है, क्या आवश्यक होने पर एक बाहरी सीएसएस स्टाइलशीट लोड करने के लिए कुछ समान उपलब्ध है?
उदाहरण के लिए जब मैं अपनी साइट पर लाइटबॉक्सेज़ (इनलाइन पॉपअप) का उपयोग करता हूं, तो मुझे उपयोगकर्ता द्वारा अनुरोधित जब तक कि लाइटबॉक्स जेएस और सीएसएस फाइलों को लोड नहीं करना चाहिए।
धन्यवाद
हाँ: यदि आप एक स्टाइलशीट से लिंक एक & lt; लिंक & gt;
टैग बनाते हैं & lt; head & gt;
टैग में जोड़ें, ब्राउज़र वह स्टाइलशीट लोड करेगा।
उदाहरण
$ ('head')। ('& Lt; link rel = "स्टाइलशीट" प्रकार = "टेक्स्ट / सीएसएस" href = "lightbox_stylesheet.css" & gt;');
हालांकि ,, यह IE 8 या इसके बाद के संस्करण में काम नहीं करता - वहां आपको या तो:
- अनुलग्न करें
href
सेटिंगऔर
से पहले ; या- लिंक
- आईई के
document.createStyleSheet ()
विधि का उपयोग करें
इसके अलावा, जांचें कि क्या कोई लिंक पहले ही जोड़ दिया गया है या नहीं, यह पूरी तरह से भर में काम नहीं करता है सभी ब्राउज़रों।
मैं आपके आधार का एक हिस्सा भी पूछूंगा:
मुझे अनुरोध है कि जब तक अनुरोध न हो, तब तक लाइटबॉक्स जेएस और सीएसएस फाइलों को लोड न करें। उपयोगकर्ता द्वारा।
क्यों? पेज वजन कम करने के लिए? मैं इच्छा को समझ सकता हूँ, लेकिन आपको अपने सीएसएस और जेएस फाइलों के आकार को मापने के लिए लाइटबॉक्स कोड के साथ, बिना और बिना, यह देखने के लिए कि क्या कमी का मूल्य है:
- < Li> मांग पर लोड की गयी जटिलता; और
- हल्के बॉक्स की थोड़ा कम प्रतिक्रियाशीलता (क्योंकि मांग पर लोड होने पर, लाइटबॉक्स को अपनी सीएसएस और जेएस लोड करने से पहले इसे लोड करने के लिए इंतजार करना होगा) >
और ध्यान रखें कि आप ब्राउजर को अपने सीएसएस और जेएस को एक लंबे समय के लिए कैश करने के लिए निर्देश दे सकते हैं, जिसका अर्थ है कि यह केवल वही है जब उपयोगकर्ता आपकी साइट को खाली कैश के साथ देखता है तो डाउनलोड हो जाता है।
Comments
Post a Comment