资源解释为Font但使用MIME类型application/x-font-woff进行传输

Rap*_*tor 58 qooxdoo

我按照qooxdoo文档中的Web Fonts教程向Font.js添加了一个Web字体,但我注意到Chrome的Developer Console中有一个警告:

我的代码如下:

/* ************************************************************************
  #asset(myApp/fonts/*)
************************************************************************ */
qx.Theme.define("myApp.theme.Font",
{
  extend : qx.theme.simple.Font,

  fonts :
  {
    "silkscreen" :
    {
        size: 8,
        lineHeight: 1,
        family: [ "silkscreen", "Tahoma" ],
        sources:
        [
            {
                family: "Silkscreen",
                source:
                [
                    "myApp/fonts/slkscr-webfont.eot",
                    "myApp/fonts/slkscr-webfont.ttf",
                    "myApp/fonts/slkscr-webfont.woff",
                    "myApp/fonts/slkscr-webfont.svg#silkscreen"
                ]
            }
        ]
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

如何解决浏览器警告?

Dan*_*ner 97

根据W3C规范,正确的MIME类型是application/font-woff,因此您需要配置Web服务器以在提供.woff文件时使用它.

  • 有用.在我的Apache服务器的配置(然后重启服务器)的`httpd.conf`中添加了"AddType application/font-woff .woff"行之后,警告消失了. (6认同)
  • 更新:我向Apache基金会提交了一份错误报告.希望他们在将来的版本中更新默认值. (2认同)

Abd*_*GIN 85

如果您使用的是IIS网络服务器,请尝试尝试:

<system.webServer>
  <staticContent>
    <remove fileExtension=".woff" /> 
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
  </staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)