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 带不上页面打开白屏;

3 回复

使用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不会自动同步。您可以通过以下方法解决:

  1. 手动传递Cookie:在iframe加载前,通过JavaScript将Cookie手动传递到iframe的URL中。
  2. 使用document.domain:如果iframe和父页面在同一域名下,可以设置document.domain为相同值,以共享Cookie。
  3. 跨域资源共享(CORS):如果iframe跨域,确保服务器配置了CORS,允许跨域请求携带Cookie。

这些方法可以帮助您在ArkWeb中实现Cookie的同步。

回到顶部