HarmonyOS鸿蒙Next中ArkWeb挂在本地的html应用内嵌iframe Cookie不会自动同步
HarmonyOS鸿蒙Next中ArkWeb挂在本地的html应用内嵌iframe Cookie不会自动同步
1、测试流程工程内部有个 index.html,通过 ArkWeb 本地加载 $rawfile("index.html")
内容如下:
<iframe src="http://www.baidu.com" style="width:100%;height:500px;"></iframe>
2、打开这个页面后,我发现 baidu.com 内部的上下文请求,均没有自动携带 cookie;
3、cookie 带不上页面打开白屏;
使用aboutToAppear(): void {
webview.WebCookieManager.configCookieSync(‘https://www.baidu.com’,‘a=444’)
}是可以在下面这个H5的iframe中设置cookie的
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Parent Page</title>
</head>
<body>
<iframe id="myIframe" src="https://www.baidu.com" width="600" height="400"></iframe>
<button onclick="callIframeFunction()">Call iframe function</button>
</body>
</html>
更多关于HarmonyOS鸿蒙Next中ArkWeb挂在本地的html应用内嵌iframe Cookie不会自动同步的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,ArkWeb加载本地HTML应用时,iframe内嵌的页面Cookie不会自动同步。这是由于ArkWeb的跨域限制和安全策略导致的。iframe被视为不同的源,因此默认情况下Cookie不会在父页面和iframe之间共享。如果需要实现Cookie同步,可以通过在父页面和iframe页面中显式设置相同的域名和路径,或者使用postMessage API进行跨域通信来手动传递Cookie信息。
在HarmonyOS鸿蒙Next中,ArkWeb内嵌iframe时,由于安全策略限制,Cookie不会自动同步。您可以通过以下方法解决:
- 手动传递Cookie:在iframe加载前,通过JavaScript将Cookie手动传递到iframe的URL中。
- 使用
document.domain:如果iframe和父页面在同一域名下,可以设置document.domain为相同值,以共享Cookie。 - 跨域资源共享(CORS):如果iframe跨域,确保服务器配置了CORS,允许跨域请求携带Cookie。
这些方法可以帮助您在ArkWeb中实现Cookie的同步。

