1、系统目前是否支持webrtc的功能,规格是什么
A:如下
-
WebView支持webrtc的P-P功能以及音视频流功能。
-
非WebView场景,HarmonyOS不直接提供webrtc,但会提供技术支持,比如支持三方gn+ninja交叉编译方式适配webrtc,包含以下两点:
-
sdk支持gn+ninja交叉编译方式
-
提供编译样例指导
2、如何预创建Web组件,如何回收web组件复用
A:通过ArkUI提供的组件动态上下树能力,实现Web组件预创建、回收复用,使用指南参见动态创建web组件。
3、web拦截如何处理文件
当拦截到图片请求时,想通过response.setResponseData()方法返回本地沙盒内的图片文件,但是setResponseData方法仅支持string/number/Resource参数,沙盒的图片文件应该如何正确返回给Web使用 ?
A:当前response.setResponseData()方法已支持ArrayBuffer参数类型,可以支持图片、字体、音频、视频类型。
4、WebView如何设置mixcontent策略,用以解决http与https混合加载的问题
A:ArkWeb提供mixedMode(mixedMode: MixedMode)接口,设置是否允许加载超文本传输协议(HTTP)和超文本传输安全协议(HTTPS)混合内容,默认不允许加载HTTP和HTTPS混合内容。
5、WebView除了设置缓存,还有什么方式可以提升渲染速度吗
A:使用prepareForPageLoad接口开启预解析。
6、Web能否手动销毁,是否存在内存泄露的风险
A:render进程在webview退出后,会完全销毁,没有内存对象泄露。browser进程(应用进程)在webview退出后,剩余的资源主要为通用线程的共享对象资源,在新建一个webview时会复用这些对象,不会重新创建,这种情况也不会内存泄露。
7、如何适配网页内播放器全屏
A:需要在工程中的module.json5配置文件中添加网络访问权限ohos.permission.INTERNET。
8、Web组件是否支持通过URL Scheme协议跳转其它App
A:Web组件支持通过URL Scheme协议跳转到其它App。开发者可以通过Web组件的onLoadIntercept回调拦截默认跳转逻辑,并在其中使用Deep Linking或App Linking的方式自定义跳转逻辑完成应用跳转。
9、如何查看Webview的缓存目录
A:执行hdc shell命令,进入设备的shell命令行。在shell命令行中,执行“cd /data/storage/el2/base/cache/web/Cache”命令,在Cache目录下查看Webview的缓存是否被清空。
10、HarmonyOS Webview如何实现透明效果
A:目前Web上支持opacity,实现页面透明效果。
11、Web组件的滚动条能否设置隐藏
A:Web组件可以设置horizontalScrollBarAccess(false)属性和verticalScrollBarAccess(false)属性分别隐藏横向滚动条和纵向滚动条。
12、Webview 目前支持预览什么文件
A:目前Webview支持加载图片、视频、网页、pdf。
更多详情查看:文档中心