微信小程序在 iOS 设备上引用字体正常,但在 安卓 设备上无法加载时,通常由 Nginx 配置问题导致。以下是具体解决方案:
Nginx配置调整
添加跨域权限
在Nginx配置文件中,针对字体文件(如.woff
、.ttf
等)的请求头添加跨域权限设置:1
2
3
4
5
6
7# 字体文件跨域设置
location ~* \.(ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
expires 30d;
error_log /dev/null;
access_log /dev/null;
}设置响应头参数
确保响应包含以下头部信息:Access-Control-Allow-Origin: *
(允许所有来源跨域)Cache-Control: no-cache
(禁用缓存)
清理小程序缓存
若配置完成后仍无法生效,需在微信开发者工具中清理小程序缓存后重新测试。 完整配置
1 | server |
注意事项
- 字体文件路径需与配置一致,例如存放在
/www/wwwroot/***/public/static
目录下。 - 不同品牌安卓手机对跨域策略的兼容性存在差异,部分机型需额外配置域名白名单或业务域名。