uni-app Android 手机sdk 从2.9.8升级到3.1.22 web-view 加载本地html 中跳转页面不渲染
uni-app Android 手机sdk 从2.9.8升级到3.1.22 web-view 加载本地html 中跳转页面不渲染
示例代码:
代码在截图中
操作步骤:
代码在截图中
预期结果:
本地html正常跳转本地html
实际结果:
本地html跳转本地html 不渲染
bug描述:
sdk 从2.9.8升级到3.1.22 web-view 加载本地html 中 window.location.href 跳转页面不渲染
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | window10 | HBuilderX |

更多关于uni-app Android 手机sdk 从2.9.8升级到3.1.22 web-view 加载本地html 中跳转页面不渲染的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app Android 手机sdk 从2.9.8升级到3.1.22 web-view 加载本地html 中跳转页面不渲染的实战教程也可以访问 https://www.itying.com/category-93-b0.html
从2.9.8升级到3.1.22后,web-view加载本地HTML时使用window.location.href跳转页面不渲染的问题,主要是由于SDK版本升级后安全策略和本地文件访问机制发生了变化。
主要原因:
- 安全策略升级:3.x版本加强了web-view的安全限制,对本地文件跳转的协议处理更加严格。
- 文件路径访问变更:新版本对
file://协议的支持有调整,可能影响了本地HTML间的跳转渲染。
解决方案:
方案一:使用相对路径跳转
在本地HTML中,避免使用绝对路径的file://协议,改用相对路径:
// 原代码
window.location.href = "file:///android_asset/test/page2.html";
// 改为
window.location.href = "page2.html";
// 或
window.location.href = "./page2.html";
方案二:使用uni-app路由跳转 如果HTML页面是通过uni-app页面加载的,考虑通过uni-app的路由机制:
// 在web-view页面中
uni.navigateTo({
url: '/pages/webview/webview?src=本地HTML路径'
});
方案三:检查web-view配置
确保web-view的src属性正确指向本地文件,并检查路径格式:
<web-view src="/static/local/index.html"></web-view>

