【问题标题】:How can I get around strict MIME checking?如何绕过严格的 MIME 检查?
【发布时间】:2020-05-08 03:52:19
【问题描述】:

我在控制台中遇到了这个奇怪的错误,它不允许我的 CSS 文件工作。

5e23e4d738f55c71e4e9f547:1 拒绝应用来自“http://localhost:3000/stylesheets/main.css”的样式,因为它的 MIME 类型 ('text/html') 不是受支持的样式表 MIME 类型,并且启用了严格的 MIME 检查。

我不知道这意味着什么,也无法应用任何样式。我已经按照我一贯的方式链接了我的样式表:

 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
 <link rel="stylesheet" href="/stylesheets/main.css">

【问题讨论】:

  • 您的网络服务器正在使用错误的 MIME 类型提供 CSS 文件。
  • 这里最好的解决方案不是绕过严格的 MIME 检查,而是修复导致文件以错误的 MIME 类型提供服务的任何问题。请告诉我们更多关于您使用哪种网络服务器设置的信息。
  • 我正在使用 Chrome - 这有帮助吗?对开发来说仍然很新,所以我不完全确定你的意思。
  • 铬?作为服务器?我假设您正在运行某种插件?通常 Chrome 只是一个浏览器。
  • 您确定您的节点网络服务器正确地从您上面的路径静态地提供文件吗?因为 Node 不像其他一些 Web 服务器那样开箱即用。

标签: javascript html css node.js ejs


【解决方案1】:

这是因为浏览器在你指定的路径上找不到css文件。

请确保您的文件 main.css 存在于您指定的路径中

还要确保您已将资产文件夹设置为静态,以便可以全局访问

app.use(express.static(path.join(__dirname, 'public')); 
// If your resources are inside public folder inside root & /stylesheets/main.css is inside the public folder

要检查路径是否正确,只需在浏览器中检查此 url 并查看是否在那里获取 css 文件

【讨论】:

    猜你喜欢
    • 2020-01-29
    • 2017-01-06
    • 2017-03-27
    • 1970-01-01
    • 2013-03-11
    • 2018-09-12
    • 2021-05-30
    • 1970-01-01
    相关资源
    最近更新 更多