拒绝应用样式,因为其 MIME 类型("应用程序/json")不受支持



我想使用完整的日历库,使用gulp和yarn,这是生成的链接标签:

但是我在控制台中收到此错误:

拒绝应用样式 "http://localhost/bower_components/fullcalendar/dist/fullcalendar.css" 因为它的MIME类型("应用程序/json")不受支持 样式表MIME类型,并启用了严格的MIME检查。

为什么我会得到这个以及如何解决它?

就我而言,我发现我的 css 文件名中有拼写错误。因此,我试图导入一个不存在的文件。

您的应用程序正在提供完整日历.css以某种方式使用错误的MIME类型("应用程序/json")。因此,我的建议是在错误消息中挖掘问题。

就我而言,我第一次尝试使用弹簧启动的百里香叶WebJars,并盲目地遵循了一些教程,我添加了以下内容:

@Configuration
public class WebConfigurer extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/webjars/**").addResourceLocations("/webjars/");
}
}

另外,我的样式在html中定义如下:

<link rel="stylesheet" type="text/css" th:href="@{/webjars/bootstrap/css/bootstrap.min.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/css/main.css}" />

这样,"bootstrap.min.css"和其他人就会得到同样的错误:">拒绝应用样式,因为它的MIME类型('application/json')不受支持"。

我还没有分解这种行为的原因,但是一旦我意识到 spring-boot 对 WebJar 有一个自动配置,我就删除了该注册,一切都开始运行良好。

注意:有一些类似的曲目与"MIME 类型('text/html')"有关,原因通常是安全过滤器不允许css文件并重定向到 html 登录页面。因此,请记住这一点,并检查您是否对此请求有某种过滤器/重定向。

直接将URL放入浏览器中,看看是否可以访问它。

对于您的情况,请在浏览器中提供此 URL http://localhost/bower_components/fullcalendar/dist/fullcalendar.css

如果您无法访问它,则说明您的代码中有错误的 url。

就我而言,我将 css 文件放在名为 css 的目录中,但在代码中我编写了/plugins/css 并收到相同的错误。

另外,不要忘记给出 type="text/css">

所以,我的代码示例如下:

<head>
<link rel="stylesheet" type="text/css" th:href="@{/css/app.css}">
</head>

如果您使用的是 Spring Boot,您甚至不必覆盖addResourceHandlers(),只需确保使用th:href并将其指向正确的目录即可。

在我的情况下,在 css 文件中 其中是对映射文件的引用

/*# sourceMappingURL=bootstrap-datepicker.css.map */

那不存在。 我删除了对源映射的引用并工作。

您可以尝试使用静态内容的相对路径。

<head>
<link rel="stylesheet" type="text/css" href="../css/app.css">
</head>

最新更新