HarmonyOS WebView注入方法

HarmonyOS
2024-12-25 14:07:49
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

如果只需要注册单个对象,可以使用javaScriptProxy,示例如下

class JSClass {
  startFunction() {}
}
struct {
  @State jsObj: JSClass = new JSClass();
  controller: web_webview.WebviewController = new web_webview.WebviewController()

  Web({src: $rawfile('web/source.html'), controller: this.controller})
  .javaScriptProxy({
  object: this.jsObj,
  name: 'jsObj',
  methodList: ['startFunction'],
  controller: this.controller
})
}

如果需要注册多个对象,也可以在初始化时调用

this.controller.registerJavaScriptProxy(
  this.jsObj,
  "jsObj",
  ["startFunction"]
);
this.controller.refresh();

js中需要使用startFuction方法时,调用jsObj.startFunction()即可。

详情可参考

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#javascriptproxy

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

分享
微博
QQ
微信
回复
2024-12-25 17:42:43
相关问题
HarmonyOS webview的JS 注入异常
1041浏览 • 1回复 待解决
关于WebView JS代码最早注入时机的咨询
1120浏览 • 1回复 待解决
javaScriptProxy注入次数。
1392浏览 • 1回复 待解决
HarmonyOS web组件注入JS代码
870浏览 • 1回复 待解决
HarmonyOS webview与原生交互方法重名
987浏览 • 1回复 待解决
HarmonyOS js调用webview中的方法
1581浏览 • 1回复 待解决
HarmonyOS web组件如何注入js文件
978浏览 • 1回复 待解决
HarmonyOS web iframe 注入.js 问题
1512浏览 • 1回复 待解决
HarmonyOS javaScriptProxy注入js不成功
1021浏览 • 1回复 待解决
HarmonyOS webview统一清除缓存的方法
923浏览 • 1回复 待解决
HarmonyOS 如何在比较早的时机注入js
627浏览 • 1回复 待解决
HarmonyOS Web组件注入js怎么传递对象
1282浏览 • 1回复 待解决
登陆时如何注入cookie
1742浏览 • 1回复 待解决