HarmonyOS 鸿蒙Next如何确定在app中给h5设置cookies是否成功
HarmonyOS 鸿蒙Next如何确定在app中给h5设置cookies是否成功
通过configCookieSync方法设置完cookies后如何查看是否已经设置成功,android可以通过chrom浏览器查看,鸿蒙如何查看
参考一下文档: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5
调试浏览器 url: chrome://inspect/#devices
具体步骤: 在文件夹里找到SDK并且找到有hdc.exe文件的Toolchains包,在此目录下打开cmd,输入hdc shell和cat /proc/net/unix | grep devtools,得到进程id后输入exit和hdc fport tcp:9222 localabstract:webview_devtools_remote_3458,3458为上一步骤得到的进程id,映射成功后打开浏览器,如果谷歌不行就使用edge,每次重启后都需要重新映射进程id 参考链接:
edge://inspect/#devices
可以通过这个demo测试一下
import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry
@Component
struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController();
build() {
Column() {
Button('configCookieSync')
.onClick(() => {
try {
web_webview.WebCookieManager.configCookieSync('https://www.example.com', 'value=test');
} catch (error) {
let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
}
})
Button('fetchCookieSync')
.onClick(() => {
try {
let value = web_webview.WebCookieManager.fetchCookieSync('https://www.example.com');
console.log("fetchCookieSync cookie = " + value);
} catch (error) {
let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
}
})
Web({ src: 'www.example.com', controller: this.controller })
}
}
}
检查下相关配置
1.检查一下是否安装了adb
- chrome://inspect/#devices页面Devices中的Configure是否添加端口号
3.设备是否为设备需为4.1.0及以上版本
4.是否按照此文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-debugging-with-devtools-V5?catalogVersion=V5配联网权限,debug权限,还需要确定打开的页面是否为web页面
5.目前Chrome中识别设备可能较慢,若无法识别可尝试执行以下命令 hdc shell param set web.debug.devtools true
6.映射这步重新尝试用以下方法:
//查找 devtools 远程调试所需的 domain socket 名称,该名称与进程号有关,重启调试应用后,需要重复此步骤,以完成端口转发
cat /proc/net/unix | grep devtools
// 添加映射 [pid] 替换成实际的进程id
hdc fport tcp:9222 localabstract:webview_devtools_remote_[pid]
// 查看映射
hdc fport ls
示例:
hdc shell
cat /proc/net/unix | grep devtools
//显示 webview_devtools_remote_3458
exit
hdc fport tcp:9222 localabstract:webview_devtools_remote_3458
hdc fport ls
更多关于HarmonyOS 鸿蒙Next如何确定在app中给h5设置cookies是否成功的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,确定在app中为H5页面设置cookies是否成功,可以通过以下步骤进行验证:
-
设置Cookies:
- 使用
webview.WebCookieManager.configCookieSync
方法为目标网址设置cookies。 - 确保设置的cookies格式正确,包括域名、名称、值等。
- 使用
-
验证Cookies:
- 在H5页面加载完成后,通过开发者工具(如浏览器的F12工具)查看网络请求,检查请求头中是否包含了设置的cookies。
- 也可以在H5页面中编写JavaScript代码,使用
document.cookie
来打印当前页面的cookies,查看是否包含设置的cookies。
-
注意事项:
- Cookies的设置和读取受到同源策略的限制,确保设置的cookies的域名与H5页面的域名一致。
- 如果使用了WebView组件,需要确保WebView的配置允许访问cookies。
如果经过以上步骤仍无法确定cookies是否设置成功,请检查代码逻辑是否正确,以及是否有其他安全策略或配置影响了cookies的使用。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。