关于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
赞
收藏 0
回答 1
待解决
相关问题
webview注入脚本是同步还是异步,如果注入脚本过大是否会影响页面正常渲染,注入时机是onPageBegin?
391浏览 • 1回复 待解决
HarmonyOS 如何在比较早的时机注入js
48浏览 • 1回复 待解决
HarmonyOS webview的JS 注入异常
367浏览 • 1回复 待解决
HarmonyOS web组件注入JS代码
112浏览 • 1回复 待解决
HarmonyOS webview注入JS,是否有大小限制
109浏览 • 1回复 待解决
鸿蒙webview中怎么注入JS方法让网页中的JS调用
8957浏览 • 1回复 待解决
HarmonyOS WebView的js方法在什么时机注册 ?
514浏览 • 1回复 待解决
HarmonyOS prefetchPage时如何在页面加载前注入js代码
606浏览 • 1回复 待解决
如何在WebView page 刚加载的时候注入一段js脚本执行
2056浏览 • 1回复 待解决
HarmonyOS WebView注入方法
112浏览 • 1回复 待解决
HarmonyOS 如何提前将本地自定义的多个js文件注入webView中?
134浏览 • 1回复 待解决
Web组件如何选择合适的生命周期去注入JS代码或者事件
2050浏览 • 1回复 待解决
HarmonyOS LocalStorage.getShared() 在普通类中,最早什么时机能取到值?
133浏览 • 1回复 待解决
HarmonyOS web组件如何注入js文件
226浏览 • 1回复 待解决
HarmonyOS web iframe 注入.js 问题
707浏览 • 1回复 待解决
HarmonyOS javaScriptProxy注入js不成功
173浏览 • 1回复 待解决
HarmonyOS WebView的controller.registerJavaScriptProxy调用的时机
891浏览 • 1回复 待解决
登陆信息的cookie应该在什么时机注入?如何确保刚刚打开的web能注入登陆信息cookie
2263浏览 • 1回复 待解决
HarmonyOS Web组件注入js怎么传递对象
638浏览 • 1回复 待解决
JS代码require到沙箱的JS文件
191浏览 • 1回复 待解决
HarmonyOS 关于照片的压缩咨询
156浏览 • 1回复 待解决
HarmonyOS 关于vp的问题咨询
378浏览 • 1回复 待解决
HarmonyOS 关于animateTo显示动画加载时机
492浏览 • 1回复 待解决
使用javaScriptOnDocumentStart试试,将JavaScript脚本注入到Web组件中,当指定页面或者文档开始加载时,该脚本将在其来源与scriptRules匹配的任何页面中执行。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-web-V5#javascriptondocumentstart11