यह करने का "पुराना स्कूल" तरीका है, जो उम्मीद है कि सभी ब्राउज़रों में काम करता है। सिद्धांत रूप में, आप setAttribute
दुर्भाग्य से उपयोग करेंगे I6 लगातार इसका समर्थन नहीं करता है।
var cssId = 'myCss'; // you could encode the css path itself to generate id..
if (!document.getElementById(cssId))
{
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.id = cssId;
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = 'http://website.com/css/stylesheet.css';
link.media = 'all';
head.appendChild(link);
}
यह उदाहरण जांचता है कि सीएसएस पहले ही जोड़ा गया था, इसलिए यह केवल एक बार जोड़ता है।
उस कोड को जावास्क्रिप्ट फ़ाइल में रखें, अंत उपयोगकर्ता को केवल जावास्क्रिप्ट शामिल करें, और सुनिश्चित करें कि सीएसएस पथ पूर्ण है इसलिए यह आपके सर्वर से लोड हो गया है।
<script type="text/javascript">
var file = location.pathname.split("/").pop();
var link = document.createElement("link");
link.href = file.substr(0, file.lastIndexOf(".")) + ".css";
link.type = "text/css";
link.rel = "stylesheet";
link.media = "screen,print";
document.getElementsByTagName("head")[0].appendChild(link);
</script>
क्लोज़िंग head
से पहले कोड सम्मिलित करें:
VanillaJS
यहाँ एक उदाहरण सादे जावास्क्रिप्ट का उपयोग करता है यूआरएल का फ़ाइल नाम अंश के आधार पर एक सीएसएस लिंक head
तत्व में इंजेक्षन करने के लिए है पृष्ठ प्रस्तुत करने से पहले टैग और सीएसएस लोड किया जाएगा। बाहरी जावास्क्रिप्ट (.js
) फ़ाइल का उपयोग करने से अनस्टाइल सामग्री (FOUC) का फ्लैश दिखाई देगा।
स्रोत
2009-02-23 09:25:35
वहाँ भी jQuery http://stackoverflow.com/questions/2685614/load-external-css-file-like के बारे में सवाल यह है कि -स्क्रिप्ट-इन-जेक्वायरी-जो-संगत-इन-यानी - – jcubic