我有两个如下所示的CSS文件。style.css获得304未修改,但default.css总是获得200 OK。为什么default.css没有被缓存?
<h:outputStylesheet library="css" name="default.css"/>
<h:outputStylesheet library="css" name="style.css"/>
我有两个如下所示的CSS文件。style.css获得304未修改,但default.css总是获得200 OK。为什么default.css没有被缓存?
<h:outputStylesheet library="css" name="default.css"/>
<h:outputStylesheet library="css" name="style.css"/>
有可能默认的 default.css 样式是由服务器提供的,并且带有某种阻止缓存的文档头。这可能超出了您的控制范围,但如果不是的话,您可以询问服务器是否有一些特定的规则,通过 htaccess 或其他配置来阻止浏览器缓存(或者只缓存很短的时间)。
如果 default.css 是动态生成的文档,那么头部也可以由在服务器上创建实际 css 文档的语言动态创建。
有一些工具,比如 Fiddler 和浏览器插件 Live HTTP Header,可以让您检查浏览器请求的文件的头部信息。
浏览器本身也可以关闭缓存,但如果两个扩展名相同的唯一文件表现不同,那可能不是浏览器设置引起的。
我尝试将多个外部CSS文件包含到XHTML中。我总是采用基本方法将CSS插入到XHTML中。我在项目的索引页面上插入以下行。它总是正常工作。
<link rel="stylesheet" type="text/css" href="file1.css" />
<link rel="stylesheet" type="text/css" href="file2.css" />