关于WebView JS代码最早注入时机的咨询-鸿蒙开发者社区-51CTO.COM

关于WebView JS代码最早注入时机的咨询

​我们需要在自行封装的WebView中注入JS代码,注入时机需要尽量早,请问WebView JS代码注入的最早时机是什么时候?

注入的JS代码涉及window上对象的添加以及基于document节点的事件发送,目前在WebVIew的onPageEnd阶段执行注入,但部分H5接入方在页面加载完成前就有调用我们注入的JS代码的需求,具体代码如下:​

extendtypescript 
let javaScript = `window.umapStartParams = ${this.params.startParamsString};`; 
javaScript += 'window.UMJSBridge = { callHandler(name, params, callback) { window.JSBridge.call(name, params, callback) } };'; 
javaScript += 'document.dispatchEvent(new Event("UMJSBridgeReady"));'; 
const configMap = UMWebManager.getConfigMap(); 
if (!configMap.has('doubleTrack') || configMap.get('doubleTrack') === true) { 
  javaScript += `window.AlipayJSBridge = { call(name, params, callback) { window.JSBridge.call(name, params, callback)}, startupParams: ${this.params.startParamsString} };`; 
  javaScript += 'document.dispatchEvent(new Event("AlipayJSBridgeReady"));'; 
} 
this.controller.runJavaScript(javaScript);
HarmonyOS
2024-11-06 09:02:24
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

​使用javaScriptOnDocumentStart试试,将JavaScript脚本注入到Web组件中,当指定页面或者文档开始加载时,该脚本将在其来源与scriptRules匹配的任何页面中执行。参考文档:​https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-web-V5#javascriptondocumentstart11

分享
微博
QQ
微信
回复
2024-11-06 15:49:49
相关问题
HarmonyOS webviewJS 注入异常
115浏览 • 1回复 待解决
HarmonyOS web iframe 注入.js 问题
399浏览 • 1回复 待解决
HarmonyOS Web组件注入js怎么传递对象
385浏览 • 1回复 待解决
关于数据缓存问题咨询
217浏览 • 1回复 待解决
关于系统定位缓存问题咨询
539浏览 • 1回复 待解决
HarmonyOS js调用webview方法
363浏览 • 1回复 待解决
HarmonyOS 关于router.back问题咨询
376浏览 • 1回复 待解决
HarmonyOS 关于页面埋点方案咨询
392浏览 • 1回复 待解决
创建JS项目如何使用webview
4653浏览 • 1回复 待解决
关于WebView报空指针问题
6829浏览 • 1回复 待解决
javaScriptProxy注入次数。
668浏览 • 1回复 待解决
聊一聊关于流转问题咨询
6735浏览 • 1回复 待解决