HarmonyOS 鸿蒙Next Web组件无法加载链接,而鸿蒙内置浏览器/安卓/IOS都正常

发布于 1周前 作者 itying888 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Web组件无法加载链接,而鸿蒙内置浏览器/安卓/IOS都正常

如以下代码所示,无法加载链接。显示有标题和作者,但下方为空屏https://mp.weixin.qq.com/s/wEzl1mPVVfAj9IlBPhyX9Q

/** * https://developer.huawei.com/consumer/cn/forum/topic/0201147433133377220?fid=0102683795438680754 */  

// 导入HarmonyOS的Web视图组件

import web_webview from ‘@ohos.web.webview’;  

// 定义基础网页组件

@Entry @Component export struct TestWebPage { webController: web_webview.WebviewController = new web_webview.WebviewController();

build() { Column() { Web({ controller: this.webController, src: https://baidu.com, // src: ‘https://mp.weixin.qq.com/s/wEzl1mPVVfAj9IlBPhyX9Q’, }).width(‘100%’).height(‘100%’) } } }

2 回复
你的意思是加载url后,文字可以展示,下面的图片没加载出来是吗?

如果加载了http资源,浏览器将认为这是不安全的资源,将会默认阻止。

可以设置webview的加载模式为MixedMode.All,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#mixedmode

提供一个demo给你参考一下

标题和图片都有显示。

先确认module.json5里添加了ohos.permission.INTERNET权限

import web_webview from '@ohos.web.webview'

@Entry @Component struct WebComponent {   controller: web_webview.WebviewController = new web_webview.WebviewController()   @State mode: MixedMode = MixedMode.All

  build() {     Column() {       Web({ src: https://mp.weixin.qq.com/s/wEzl1mPVVfAj9IlBPhyX9Q, controller: this.controller })         .domStorageAccess(true)         .mixedMode(this.mode)     }   } }<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

针对HarmonyOS鸿蒙Next Web组件无法加载链接,而鸿蒙内置浏览器、安卓及iOS均正常的问题,这通常是由于Web组件的特定限制或配置问题所导致。以下是一些可能的原因及解决方案:

  1. 跨域资源共享(CORS)限制:Web组件可能因CORS策略而无法加载外部资源,确保目标网址的服务器允许当前设置的User-Agent进行跨域请求。
  2. 用户代理(User-Agent)设置问题:某些网站会根据User-Agent判断兼容性,若设置不当可能导致访问被拒绝。尝试将User-Agent设置为更通用的字符串,或根据目标网站的兼容性进行调整。
  3. 服务器或网络连接问题:检查网络连接是否稳定,以及目标网址的服务器状态是否正常。
  4. Web组件配置问题:确保Web组件已正确配置,包括网络权限等。

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

回到顶部