我在 Windows Store 应用程序中使用 Popline,但我可以显示图标的唯一方法是链接到文件的引导 CDN 版本。当我尝试引用文件的本地副本时,它不起作用。
这是我的 fontAwesome.css 路径

<link rel="stylesheet" type="text/css" href="ms-appx-web:///Assets/HTML/css/font-awesome.css">
我知道这是正确的,因为如果我编辑该文件并添加
* { border: 1px solid red; }
在顶部,我文档中的所有内容都有一个红色边框。问题似乎与字体文件本身有关。所有都导入到项目中,内容设置为“如果较新则复制”
我试过编辑 fontAwesome.css 以便字体文件路径以 ms-appx-web:///Assets/HTML/ 开头。当那不起作用时,我尝试将该块取出并将其直接放入我的文档中,如下所示:
<style type="text/css" media="screen">
    @font-face {
      font-family: 'FontAwesome';
      src: url('ms-appx-web:///Assets/HTML/fonts/fontawesome-webfont.eot?v=4.2.0');
      src: url('ms-appx-web:///Assets/HTML/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('ms-appx-web:///Assets/HTML/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('ms-appx-web:///Assets/HTML/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('ms-appx-web:///Assets/HTML/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
      font-weight: normal;
      font-style: normal;
    }
</style>
谁能看到我做错了什么?
更新
请注意,我正在使用 NavigateToString 加载我的 html。这是绝对必要的,没有办法绕过它,因此该解决方案必须适用于 NavigateToString

最佳答案

经过大量的反复试验,我终于找到了如何做到这一点。如果您使用 Source 属性将 HTML 放入 WebView,则有几种解决方案可以工作,但如果您使用 NavigateToString,这些解决方案都不起作用

这个来自 Matt Small's blog ,确实如此。

@font-face {
    font-family: 'FontAwesome';
    src: url(data:application/x-font-woff;charset=utf-8;base64,<BASE64 STRING OF fontawesome-webfont.woff>) format('woff'),
        url('ms-appx-web:///fontawesome-webfont.ttf?v=4.2.0') format('truetype');
    font-weight: normal;
    font-style: normal;
}

您需要将此代码放入 HTML 文件的头部。如果在单独的 css 文件中,这将不起作用。

您可以使用 this page 来转换您的 fontawesome-webfont.woff 文件。如果该链接不起作用,那么还有很多其他页面也会这样做。

关于c# - FontAwesome 未加载到 WebView 中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26090455/

10-12 12:20
查看更多