【问题标题】:Can't load Font Awesome from subdirectory无法从子目录加载 Font Awesome
【发布时间】:2015-08-16 06:24:05
【问题描述】:

我有以下文件布局:

/website/index.html
/website/font-awesome/css
/website/font-awesome/fonts
/website/Subdirectory/page1.html

页面/website/index.html 完全没有使用Font Awesome; /website/Subdirectory/ 中的文件确实使用它。

如果我直接访问/website/Subdirectory/page1.html,Font Awesome 图标会显示为一个带有 UniCode 编号的框。如果我先访问/website/index.html,那么访问子目录中的任何页面都会按预期显示图标。

在page1.html 我有<link rel="stylesheet" href="../font-awesome/css/font-awesome.min.css">。

这是本地托管的;即通过file://

更新

downloadable font: download failed (font-family: "FontAwesome" style:normal weight:normal stretch:normal src index:2): status=2147500037
source: file:///correct/path/to/website/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0

我在 Mac 上使用 Firefox。根据 Finder,字体版本是 4.2.0。

在 Chrome 上不存在这个问题。看起来像是某种浏览器实现问题。解决方法表示赞赏。

【问题讨论】:

    标签: css font-awesome


    【解决方案1】:

    由于“同源”安全策略,这似乎是一个已知问题,请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=760436

    网站加载上一级页面后可以正常工作的原因是字体已经被缓存了。

    【讨论】:

    • 嗯,我认为“同源策略”是关于跨子域问题的。但从您的问题来看,它似乎在同一个域中?
    • 缓存的东西吸引了我。确保清空缓存在认为原因非常复杂....
    【解决方案2】:

    要么确保字体文件与试图加载它的页面位于同一目录中,要么是该页面的子目录(不是同级目录或祖先目录);或者通过在 about:config 中将 security.fileuri.strict_origin_policy 设置为 false 来放松安全检查。

    【讨论】:

      【解决方案3】:

      我的问题是在我的 rails 应用程序中设置环境变量如下。

      config.action_controller.relative_url_root = "/myrailsapp"

      见https://github.com/bokmann/font-awesome-rails

      【讨论】:

        猜你喜欢
        • 2013-03-01
        • 1970-01-01
        • 2016-06-05
        • 2023-03-21
        • 2018-06-17
        • 1970-01-01
        • 2019-02-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多