最近,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中文网其他相关文章!