Rumah > Artikel > hujung hadapan web > Mengapakah Saya Tidak Boleh Mengakses Peraturan CSS dalam Chrome 64 daripada Fail Setempat?
Akses Model Objek CSS Terhad dalam Chrome 64
Mengakses peraturan CSS daripada helaian gaya yang dimuatkan secara setempat menjadi bermasalah dalam Chrome 64. Untuk memahami isu ini, pertimbangkan coretan kod berikut:
<code class="html"><head> <link rel='stylesheet' href='myStyle.css'> <script> window.onload = function() { try { alert(document.styleSheets[0]); // works alert(document.styleSheets[0].cssRules); // doesn't even print undefined } catch (e) { alert(e); } // catch and alert the error } </script> </head></code>
Dengan Chrome 64 dan seterusnya, mengakses cssRules mengakibatkan ralat, walaupun document.styleSheets[0] mengembalikan objek stylesheet.
Sebab :
Ini disebabkan oleh perubahan dalam peraturan keselamatan untuk helaian gaya, dikuatkuasakan dalam Chrome 64. Khususnya, mengakses Model Objek CSS (CSSOM) daripada fail tempatan melanggar Perkongsian Sumber Silang Asal (CORS) dasar.
Penyelesaian:
Impak dan Penyelesaian:
Perubahan ini memberi kesan kepada pembangun yang menguji kefungsian CSS daripada sistem fail setempat. Penyelesaian seperti menggunakan fail dalam talian/hos tempatan atau penyemak imbas lain menyediakan penyelesaian sementara.
Perbahasan dan Soalan Terbuka:
Walaupun merupakan pembetulan keselamatan, terdapat perbincangan dan perbahasan yang berterusan di sekeliling perubahan ini. Sesetengah berpendapat bahawa kekurangan cara alternatif untuk mengesan isu kebolehaksesan adalah menyusahkan. Yang lain mempersoalkan sejauh mana pelaksanaannya dalam pelayar lain. Memandangkan spesifikasi W3C masih dalam pembangunan, ia masih perlu dilihat bagaimana isu ini akan berkembang.
Atas ialah kandungan terperinci Mengapakah Saya Tidak Boleh Mengakses Peraturan CSS dalam Chrome 64 daripada Fail Setempat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!