
小程序嵌入 h5 页面字体出错怎么办?
在开发小程序时,在 h5 页面中使用自定义字体时,经常会遇到字体失效的问题。这是因为小程序中的 webview 对字体有额外的限制。
问题原因
- 小程序 webview 需要将字体文件添加到白名单。
- 字体资源需要通过 https 协议访问。
解决方案
添加白名单
- 在小程序的 app.json 文件中,找到 subpackages 字段。
- 添加一个 web-view 字段,并设置 domain 为 h5 页面所在域名。
- 将字体的 url 或文件路径添加到 pages 字段中。
"app.json"
{
"subPackages": [
{
"root": "pages/h5",
"pages": ["index"],
"domain": "example.com",
"web-view": {
"domains": ["example.com/fonts/*"]
}
}
]
}使用 https
将字体文件上传到服务器并通过 https 协议访问。确保服务器配置了 https 证书。
其他检查点
- 查看控制台错误:在微信开发者工具或实机中打开 vconsole,检查是否有错误消息。
- 检查网络请求:使用开发工具的网络面板,确保字体文件已经正确加载。
- 检查 webview 配置:在小程序的 app.js 文件中,确保 webview 组件的 src 属性指定了 h5 页面 url。
通过上述步骤,可以解决小程序嵌入 h5 页面中字体失效的问题。










