Rumah  >  Artikel  >  hujung hadapan web  >  Mengapakah Saya Tidak Boleh Mengakses Peraturan CSS dalam Chrome 64 daripada Fail Setempat?

Mengapakah Saya Tidak Boleh Mengakses Peraturan CSS dalam Chrome 64 daripada Fail Setempat?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 06:48:30863semak imbas

Why Can't I Access CSS Rules in Chrome 64 from Local Files?

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:

  • Gunakan pelayan pembangunan setempat: Ini menyediakan persekitaran terkawal di mana dasar CORS dilonggarkan.
  • Hos fail dalam talian atau pada localhost: Menggunakan pelayan web menghapuskan isu CORS.
  • Gunakan penyemak imbas lain: Penyemak imbas seperti Firefox, Edge dan Internet Explorer membenarkan akses CSSOM daripada fail tempatan.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn