最近,Web 開發者遇到了一個問題,即在Chrome 64 中無法從本地CSS 文件訪問CSS 規則。 Chrome 版本 64。此問題可歸因於瀏覽器中實施的安全性變更。
過去,Chrome 允許開發人員從本機檔案存取 CSS 規則。但是,在版本 64 中,此功能已受到限制。嘗試存取樣式表的 cssRules 屬性時,開發人員會遇到未定義的回應或錯誤。
<code class="html"><script> window.onload = function() { try { alert(document.styleSheets[0]); // works alert(document.styleSheets[0].cssRules); // undefined } catch (e) { alert(e); // error } } </script> <link rel='stylesheet' href='myStyle.css'> <!-- myStyle.css --> body { background-color: green; }</code>
為了解決此問題,開發人員已經確定了幾種解決方法:
此問題的根本原因在於 Chrome 安全規則的變更。 Chrome 現在遵守跨來源資源共享 (CORS) 政策,該政策限制對不同來源的資源的存取。由於本機檔案與 HTML 檔案的來源不同,因此從這些檔案存取 CSS 規則違反了 CORS 政策。
雖然Chrome 中實施CORS 政策提高了安全性,但也產生了一些未解決的問題:
以上是為什麼我無法在 Chrome 64 中從本機檔案存取 CSS 規則?的詳細內容。更多資訊請關注PHP中文網其他相關文章!