HarmonyOS 鸿蒙Next web加载data时,html中包含<img>标签,img请求不携带cookie

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next web加载data时,html中包含标签,img请求不携带cookie

web 通过 webview.WebCookieManager.configCookieSync 设置了cookie以后,加载一段HTML内容,里面的img不会携带cookie标签,如果是URL请求则会携带,请问是怎么回事啊?

4 回复

原来是个bug!

我设置的baseURL 为:resource://rawfile/   这样img死活不加载cookie,

如果修改baseURL为 一个 https链接,则 img就会加载cookie

这里的坑真大!

已设置:webview.WebCookieManager.putAcceptThirdPartyCookieEnabled(true);
img 的 src 写的是全路径,例如:https://www.baidu.com/abc.png

在HarmonyOS鸿蒙Next web环境中,当HTML中的<img>标签加载图片资源时,默认情况下浏览器可能不会携带Cookie。这是因为出于安全和隐私考虑,某些HTTP请求(如图片加载)被视为“非同源”或“第三方”请求,而这些请求在默认情况下不会携带与当前文档域相关的认证信息(如Cookies)。

为了解决这个问题,你可以尝试以下几种方法(但请注意,这些方法可能受限于浏览器安全策略):

  1. 使用JavaScript动态加载图片:通过JavaScript创建一个新的Image对象,并设置其src属性来加载图片。在这个过程中,你可以尝试通过XMLHttpRequestfetch获取图片,并在请求头中手动添加Cookie。

  2. 服务器端代理:将图片请求通过你的服务器进行代理,服务器在请求目标资源时携带必要的Cookie信息。

  3. 调整Cookie属性:确保你的Cookie设置了适当的SameSite属性(如SameSite=None; Secure),这允许跨站请求携带Cookie。但请注意,这可能会影响安全性。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部