HarmonyOS 鸿蒙Next网页加载不出来

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

HarmonyOS 鸿蒙Next网页加载不出来
HarmonyOS的分布式文件系统让我在多设备间共享文件变得更加方便。

关于HarmonyOS 鸿蒙Next网页加载不出来的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

11 回复

一个网页,在浏览器中可以加载,单独通过web组件也可以加载,但是通过web组件添加设置setCustomUserAgent后就显示不了了,可能是哪些原因呢?

很喜欢HarmonyOS的卡片式设计,信息一目了然,操作也更便捷。

这个网页的代码里可能判断了当前UserAgent的信息不是android也不是ios,代码又没有写else处理其它情况,然后就白屏了。

您提到的这个问题可能由几个因素引起。以下是一些可能的原因及对应的解决方案:

用户代理设置不兼容 :某些网站会根据用户代理(User-Agent)头来判断请求的来源和兼容性。如果设置了不正确的用户代理,可能会导致网站拒绝服务或出现兼容性问题。 解决方法 :尝试将  setCustomUserAgent  方法中的参数改为一个更通用的用户代理字符串,例如  ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36’ 。
跨域资源共享(CORS) :Web组件(尤其是使用  fetch  或  XMLHttpRequest )时,可能会遇到跨域资源共享(CORS)策略限制。某些服务器只允许特定的User-Agent访问。 解决方法 :确保目标网址的服务器允许当前设置的User-Agent进行跨域请求,或者调整服务器端的CORS配置。
网站安全设置 :一些网站通过特定的安全策略(如Content Security Policy, CSP)限制了特定用户代理的请求。 解决方法 :审查网站的CSP策略,确认其对自定义User-Agent的支持情况,必要时调整CSP配置。
缓存问题 :浏览器或Web组件的缓存可能导致设置未能生效。 解决方法 :清除浏览器缓存或强制刷新页面以确保新的User-Agent设置被应用。
编码或实现问题 :检查  setCustomUserAgent  的实现是否存在bug。 解决方法 :使用开发者工具审查代码执行过程,确认User-Agent设置是否按预期工作。

希望以上信息能帮助您解决问题。如果仍有疑问,建议提供更多关于您的代码实现和具体错误信息,以便进一步排查。

大概率就是api用错了

首先,查看官方文档,都有关于setCustomUserAgent的用法介绍以及代码示例:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5

其次,监听web加载的api,通过log、debug等方式分析问题

如果依然搞不定,就上代码吧!

期待HarmonyOS能继续优化多屏协同功能,让跨设备体验更加完美。

网站的html页面可以通过vconsole中element看到,就是不能渲染,问了该H5的开发,他说:‘定位的bridge好了吗?这个页面在app会先拿到定位再渲染。’ 但是在向web注入js对象和方法的时候对应的获取定位方法已经放进去了,重新运行网站没有并没有调用该js方法,这就很纳闷了,web组件有自动获取位置权限的方法吗?

是不是要让h5触发一下onGeolocationShow这个获取位置信息的回调方法

后来解决了吗?

期待HarmonyOS能继续优化多屏协同功能,让跨设备体验更加完美。

老哥大意了吧,这问题我也遇到过,这个鸿蒙的setCustomUserAgent和Android和IOS的都不一样哦!

看我下面代码,不要直接set,给系统的UA拼接下

this.controller.setCustomUserAgent(this.controller.getUserAgent()+'的自定义的UA')<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
回到顶部