Firefox加载Web托管woff2字体时遇downloadable font: rejected by sanitizer错误
解决Firefox ESR 91.13.0加载woff2字体被sanitizer拒绝的问题
针对你遇到的Chrome正常但Firefox加载woff2字体报错downloadable font: rejected by sanitizer的情况,可按以下方向排查解决:
1. 补全@font-face的必填属性
Firefox对@font-face的属性完整性要求更严格,即使Chrome能兼容缺失的属性,也建议明确声明与字体匹配的weight和style:
@font-face { font-family: 'My Sans Regular'; src: url('resources/my_sans_reg_web.woff2') format('woff2'); font-weight: 400; /* 对应报错中的weight:400 */ font-style: normal; /* 对应报错中的style:normal */ font-display: swap; /* 可选,优化加载体验 */ }
2. 检查并修复字体文件格式
Firefox的字体sanitizer会拒绝存在格式缺陷的字体文件,即使Chrome能解析:
- 使用官方工具重新生成woff2文件:用Google的
woff2_compress工具对原始TTF/OTF字体重新压缩为woff2,避免手动转换导致的格式损坏。 - 用FontValidator工具检查字体文件的结构和元数据是否合规,修复存在的表错误或元数据缺失。
3. 验证服务器响应头配置
确保服务器返回正确的HTTP响应头:
- Content-Type:必须设置为
font/woff2,而非application/octet-stream或其他默认类型。 - CORS配置:如果字体文件与网页不在同一域名下,需在服务器端添加
Access-Control-Allow-Origin头,允许当前域名访问字体资源。 - 禁用不必要的压缩:部分服务器对woff2文件额外启用gzip压缩,可能导致文件损坏,需关闭woff2文件的二次压缩(woff2本身已优化压缩)。
4. 排查服务器缓存与文件完整性
- 清除服务器和浏览器的缓存,确保加载的是最新的字体文件。
- 直接访问字体URL,检查文件是否能正常下载,对比本地可正常使用的文件MD5值,确认服务器上的文件未损坏。
内容的提问来源于stack exchange,提问作者Gustavo C.
相关产品推荐
相关产品推荐

