HarmonyOS 鸿蒙Next web组件设置cookie是否提供通过域名去设置cookie
HarmonyOS 鸿蒙Next web组件设置cookie是否提供通过域名去设置cookie
您给host地址设置了cookie,之后的其他子地址也都会拥有对应的cookie。
以下是为您写的验证demo:
新建工程,
在src/main/module.json5中添加网络权限:
"module":{
"requestPermissions": [
{
"name":
'ohos.permission.INTERNET'
}
]
}
替换Index.est文件内容:
// xxx.ets
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('fetchCookieSync')
.onClick(() => {
try {
let value = web_webview.WebCookieManager.fetchCookieSync('');
console.log("fetchCookieSync host cookie = " + value);
} catch (error) {
let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
}
try {
let value = web_webview.WebCookieManager.fetchCookieSync('');
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: '', controller: this.controller })
.domStorageAccess(true)
.onAppear(() => {
try {
// 设置多个cookie值时用','隔开,设置单个cookie值时不需要。
web_webview.WebCookieManager.configCookieSync('', 'a=b,c=d,e=f');
} catch (error) {
let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
}
})
.onPageBegin((event) => {
if (event) {
console.log('url:' + event.url)
}
})
}
}
}
这里仅为网址域名添加了cookie,a=b,c=d,e=f
您点击fetchCookieSync按钮查看日志可看到,网址也是有cookie :a=b,c=d,e=f的。
网址的这个地址点击鸿蒙按钮进入的页面。
configCookieSync 为指定url设置cookie的值。
相关链接:
fetchCookieSync 获取指定url对应cookie的值。
相关链接:
更多关于HarmonyOS 鸿蒙Next web组件设置cookie是否提供通过域名去设置cookie的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next web组件中,设置cookie可以通过JavaScript的document.cookie
接口进行,且支持通过域名来设置cookie。具体实现方式是,在调用document.cookie
设置cookie时,可以在cookie字符串中包含domain
属性,从而指定该cookie所属的域名。
例如,若要将一个名为example
的cookie设置为仅对example.com
及其子域有效,可以这样做:
document.cookie = "example=value; domain=example.com; path=/";
其中,domain
属性指定了cookie的域名范围,path
属性则指定了cookie的路径范围(默认为当前路径)。
请注意,设置cookie的域名必须是当前页面域名或其父域名,否则浏览器会拒绝设置该cookie。同时,cookie的安全属性(如Secure
和HttpOnly
)也需根据实际需求进行设置,以确保cookie的安全传输和存储。
如果需要在鸿蒙Next web组件中更灵活地管理cookie,还可以考虑使用第三方cookie管理库,这些库通常提供了更丰富的API和更好的兼容性支持。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html