uni-app编译成鸿蒙后webview内网页处理cookie取不出来值测试安卓和直接复制到浏览器都正常
uni-app编译成鸿蒙后webview内网页处理cookie取不出来值测试安卓和直接复制到浏览器都正常
示例代码:
<!-- #ifdef APP-HARMONY -->
<view class="viewContent">
<web-view id="web-view" :fullscreen="false" style="height: calc(100vh - 44px);" :src="state.src" class="uni-flex-item" @message="message">
</web-view>
</view>
<!-- #endif -->
// #ifdef APP-ANDROID || APP-IOS
wv = plus.webview.create('', id, {
top: data.height,
bottom: 0,
zIndex: 0,
cacheMode: 'default'
});
wv.loadURL(state.src);
// #endif
操作步骤:
打开后,后端拿到token设置cookie,跳转到前端页面,取不出cookie然后直接登录失败
预期结果:
后端处理完成后,登录成功;目前安卓和直接浏览器输入网址都登录正常
实际结果:
打开后,后端拿到token设置cookie,跳转到前端页面,取不出cookie然后直接登录失败
bug描述:
uniapp编译成鸿蒙后,webview内网页处理cookie取不出来值,测试安卓和直接复制到浏览器都正常
更多关于uni-app编译成鸿蒙后webview内网页处理cookie取不出来值测试安卓和直接复制到浏览器都正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
已解决
鸿蒙webview打开的h5,取的cookie中不能有-
const cookieToken = Cookies.get(“z-xtoken”) || Cookies.get(‘zxtoken’);
更多关于uni-app编译成鸿蒙后webview内网页处理cookie取不出来值测试安卓和直接复制到浏览器都正常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
根据描述,这个问题主要出现在uni-app编译为鸿蒙应用时,WebView内的cookie处理异常。以下是可能的原因和解决方案:
-
鸿蒙WebView的cookie处理机制与Android/iOS不同,可能需要特殊配置。建议检查鸿蒙WebView的cookie相关API是否正常启用。
-
尝试在WebView加载前手动设置cookie:
// #ifdef APP-HARMONY
const webview = document.getElementById('web-view');
webview.cookieEnabled = true; // 确保cookie启用
// #endif
- 检查鸿蒙WebView的跨域设置,可能需要允许第三方cookie:
// #ifdef APP-HARMONY
webview.settings.allowUniversalAccessFromFileURLs = true;
webview.settings.allowFileAccessFromFileURLs = true;
// #endif