问题现象
ASCF转换生成的元服务页面加载异常,存在如下报错:
"Mixed Content: The page at 'xxxx' was loaded over HTTPS, but requested an insecure font 'xxx'. This content should also be served over HTTPS."
背景知识
当Web页面使用HTTPS协议加载时,若页面存在内嵌的HTTP资源(如图片、视频、脚本)会触发混合内容加载。混合内容模式MixedMode有三种,其中默认安全策略(MixedMode.None)会阻止此类非安全资源的加载,导致资源异常(如视频黑屏、布局缺失)。
问题定位
根据日志提示"Mixed Content: The page at 'xxxx' was loaded over HTTPS, but requested an insecure font 'xxx'. This content should also be served over HTTPS.",HTTPS加载的页面,内嵌了HTTP请求的资源,被混合内容的默认安全策略(MixedMode.None)拦截导致。
分析结论
ASCF WebView的混合模式为MixedMode.None,即禁止安全源加载非安全源的内容。
修改建议
Web页面使用HTTPS协议加载时,页面内嵌的资源(如图片、视频、脚本)由HTTP协议加载改为HTTPS协议加载。