在Chrome 64 中無法從本地CSS 檔案存取CSS 規則
最近,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>
解決方案
為了解決此問題,開發人員已經確定了幾種解決方法:
- 在線或從本地主機提供檔案:透過在伺服器上託管HTML 和CSS 檔案或使用本機,不會強制執行CORS 策略,並且可以存取CSS 規則。
- 使用其他瀏覽器:Internet Explorer、Microsoft Edge 和 Firefox 等其他瀏覽器目前不會強制實施相同的 CORS 限制。
- 命令列選項: Chrome 提供了一個命令列選項 --allow-file-access-from-files ,允許從本機檔案存取 CSS 規則。請謹慎使用此選項。
說明
此問題的根本原因在於 Chrome 安全規則的變更。 Chrome 現在遵守跨來源資源共享 (CORS) 政策,該政策限制對不同來源的資源的存取。由於本機檔案與 HTML 檔案的來源不同,因此從這些檔案存取 CSS 規則違反了 CORS 政策。
未決問題
雖然Chrome 中實施CORS 政策提高了安全性,但也產生了一些未解決的問題:
- 檢測樣式表是否無法從JavaScript 存取的唯一方法是透過try/catch 區塊。
- Chrome 中可能存在實作問題這會破壞某些解決方法。
- CSS 物件模型規格仍處於「工作草案」狀態,為未來的變更留有空間。
以上是為什麼我無法在 Chrome 64 中從本機檔案存取 CSS 規則?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Wufoo一直在集成方面非常出色。他們與特定應用程序(例如廣告系列顯示器,MailChimp和Typekit)進行集成,但他們也


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具