Pemuatan CSS Dinamik Gagal dalam IE: Penyelesaian
Dalam usaha untuk meningkatkan estetika halaman web, selalunya perlu memuatkan CSS secara dinamik lembaran gaya. Walaupun teknik ini berfungsi dengan lancar dalam penyemak imbas popular seperti Firefox dan Google Chrome, ia terjumpa halangan dalam Internet Explorer (IE).
Menggunakan jQuery, cara biasa untuk mencapai pemuatan CSS dinamik ialah:
var head = document.getElementsByTagName('head')[0]; $(document.createElement('link')) .attr({ type: 'text/css', href: '../../mz/mz.css', rel: 'stylesheet' }) .appendTo(head);
Walau bagaimanapun, IE memberikan cabaran yang unik, kerana kaedah ini tidak memberikan hasil yang diinginkan dalam pelayar.
Untuk mengatasi halangan ini, adalah penting untuk menggunakan pendekatan khusus pelayar. Apabila IE menghadapi situasi di mana semua gaya yang dimuatkan dengan halaman telah diproses, satu-satunya penyelesaian yang boleh dipercayai untuk menambah helaian gaya tambahan adalah dengan menggunakan kaedah document.createStyleSheet(url).
Pelaksanaan merentas pelayar yang berkesan boleh dicapai dengan menggunakan kod berikut:
url = 'style.css'; if (document.createStyleSheet) { document.createStyleSheet(url); } else { $('<link rel="stylesheet" type="text/css" href="' + url + '" />').appendTo('head'); }
Dengan menampung tingkah laku unik IE melalui kaedah document.createStyleSheet, adalah mungkin untuk memuatkan helaian gaya CSS secara dinamik dalam semua penyemak imbas utama, memastikan peningkatan visual yang konsisten merentas pelbagai platform.
Atas ialah kandungan terperinci Mengapa Pemuatan CSS Dinamik Gagal dalam IE, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!