【HarmonyOS NEXT】FAQ之应用框架(Web框架开发3)

1、如何使用ArkWeb的预加载能力

A:如果能够预测到Web组件将要加载的页面或者即将要跳转的页面。可以通过prefetchPage()来预加载即将要加载的页面。预加载会提前下载页面所需的资源,包括主资源子资源,但不会执行网页JavaScript代码。

2、如何实现Web和Webview对前端常用框架(如Vue,React)的适配

A:以Vue工程为例,使用runJavaScript API与javaScriptProxy API实现与Vue工程的交互。

  • runJavaScript API用于异步执行JavaScript脚本,并通过回调方式返回脚本执行的结果。

  • javaScriptProxy API用于注入JavaScript对象到window对象中,并在window对象中调用该对象的方法。

  • 可以将Vue中的方法挂在到JavaScript脚本的document对象上,实现Vue与JavaScript脚本的交互。

3、Webview页面中,如何拦截从网络请求来的数据,转为读取本地预置数据

A:Web组件支持在应用拦截到页面请求后自定义响应请求能力。开发者通过onInterceptRequest()接口来实现自定义资源请求响应 。自定义请求能力可以用于开发者自定义Web页面响应、自定义文件资源响应等场景。

4、如何在Web请求时添加header头

A:可以通过loadUrl方法设置headers、loadUrl有两个参数,其中url表示需要加载的URL,headers表示URL的附加HTTP请求头。

// 带参数headers 
this.controller.loadUrl('www.example.com', [{ headerKey: "headerKey",headerValue: "headerValue" }]);

5、Web组件如何访问本地的资源文件,并添加查询参数

A:本地资源文件可存放在模块的“src\main\resources\rawfile”文件夹下,在ets文件中通过$rawfile('文件名')访问。目前不支持直接添加查询参数,可以通过Web组件加载一个HTML文件,通过window.location.href跳转到带有参数的本地HTML页面。

6、如何判断Web滑动到了顶部/底部,并且把滑动事件传递给原生页面

A:通过Web组件的onOverScroll事件可以判断Web滑动到了顶部/底部。该接口可以通知网页过滚动偏移量,如果yOffset<0,即页面到达顶端;如果yOffset>0,即页面到达底端。

传递滑动事件可参考Web组件嵌套滚动,将Web组件内嵌于可滚动容器中,使用nestedScroll属性设置嵌套滚动选项,达到传递滑动事件给原生页面的效果。

7、Web加载的H5页面跳转后,如何避免原有页面注册的资源被清空

A:使用runJavaScript加载JS可能会出现跳转后注册资源被清空的情况,使用javaScriptOnDocumentStart注入JS就不会出现H5跳转注册资源被清空的情况。

8、Web组件中如何通过手势滑动返回上一个Web页面

A:通过重写onBackPress函数来自定义返回逻辑,使用WebviewController判断是否返回上一个Web页面。

9、Web组件如何实现嵌套滑动,如何实现web控件的自适应高度

A:Web组件可内嵌到可滚动容器(Scroll,List...)中,并通过nestedScroll API指定默认的嵌套滚动模式,api11新增layoutMode API设置web布局模式,跟随系统或自适应布局。

10、Web组件使用rawFile加载离线html时,如何在url后拼接参数

A:使用Web组件加载时可以直接使用url拼接参数,加载后在H5侧获取并使用。

更多详情查看:文档中心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值