Inilah cara "jadul" untuk melakukannya, yang diharapkan bekerja di semua browser. Secara teori, Anda akan menggunakan setAttribute
sayangnya IE6 tidak mendukungnya secara konsisten.
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);
}
Contoh ini memeriksa apakah CSS sudah ditambahkan sehingga hanya menambahkannya sekali.
Masukkan kode itu ke file javascript, minta pengguna akhir cukup memasukkan javascript, dan pastikan path CSS absolut sehingga dimuat dari server Anda.
VanillaJS
Berikut adalah contoh yang menggunakan JavaScript biasa untuk menyuntikkan tautan CSS ke head
elemen berdasarkan bagian nama file URL:
<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>
Masukkan kode tepat sebelum head
tag penutup dan CSS akan dimuat sebelum halaman diberikan. Menggunakan .js
file JavaScript ( ) eksternal akan menyebabkan Flash konten tanpa gaya ( FOUC ) muncul.