我有css文件:
<head>
<link rel="stylesheet" type="text/css" href="/assets/application.css" media="screen" />
...
</head>
Run Code Online (Sandbox Code Playgroud)
对于所有浏览器,一切都很好(chrome,ff,ie8,ie10,...),IE9除外.
IE9不会完全加载css.
我的目标是合并/缩小所有css文件并将结果作为String返回.
这是我的Spring测试方法:
@RequestMapping(value = "/stylesheet.css", method = RequestMethod.GET, produces = "text/css")
@ResponseBody
public void css(HttpServletResponse response) {
File path = new File(servletContext.getRealPath("/WEB-INF/includes/css/"));
File[] files = path.listFiles(...);
for (File file : files) {
InputStream is = new FileInputStream(file);
IOUtils.copy(is, response.getOutputStream());
response.flushBuffer();
is.close();
}
}
Run Code Online (Sandbox Code Playgroud)
这适用于Chrome,Firefox和Safari,但不适用于IE和Opera.
在检查员中进行一些检查后,URL https://host/project/stylesheet.css将在每个浏览器中加载.我可以看到内容但似乎没有被认出来text/css.
此外,即使有produces = "text/css",我也无法content-type在所有浏览器中看到http标头.
IE中的错误日志:
CSS ignored because of mime type incompatibility
Run Code Online (Sandbox Code Playgroud)
有谁知道如何正确地做到这一点?
@RequestMapping(value = "/stylesheet.css", method = RequestMethod.GET)
public ResponseEntity<Void> css(HttpServletResponse response) {
response.setContentType("text/css");
File path …Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的问题.我开发了一个在大多数浏览器中运行良好的网站.我刚刚升级到IE9,我的样式都没有被应用.我在我的本地电脑上看到这个,因为这个网站还没有上网.正确应用所有内联或页面级样式,但根本不应用从HEAD部分中的外部css文件链接的样式.如果我使用开发人员工具栏并将网站视为IE8,IE7或任何其他模式,网站工作正常.大约有6个样式表,没有额外的组件,所以它不应该是太多样式表的问题.我无法弄清楚造成这种情况的原因.还有人见过吗?