关于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?
198浏览 • 1回复 待解决
HarmonyOS webview的JS 注入异常
203浏览 • 1回复 待解决
HarmonyOS WebView的js方法在什么时机注册 ?
249浏览 • 1回复 待解决
鸿蒙webview中怎么注入JS方法让网页中的JS调用
8693浏览 • 1回复 待解决
HarmonyOS prefetchPage时如何在页面加载前注入js代码
539浏览 • 1回复 待解决
如何在WebView page 刚加载的时候注入一段js脚本执行
1904浏览 • 1回复 待解决
Web组件如何选择合适的生命周期去注入JS代码或者事件
1920浏览 • 1回复 待解决
HarmonyOS web iframe 注入.js 问题
525浏览 • 1回复 待解决
登陆信息的cookie应该在什么时机注入?如何确保刚刚打开的web能注入登陆信息cookie
2011浏览 • 1回复 待解决
HarmonyOS WebView的controller.registerJavaScriptProxy调用的时机
633浏览 • 1回复 待解决
HarmonyOS Web组件注入js怎么传递对象
495浏览 • 1回复 待解决
HarmonyOS 关于animateTo显示动画加载时机
391浏览 • 1回复 待解决
HarmonyOS 关于CustomDialogController关闭的问题咨询
30浏览 • 1回复 待解决
关于数据缓存问题咨询
291浏览 • 1回复 待解决
如何获得WebView页面的渲染或滚动时机呢
7465浏览 • 1回复 待解决
关于app.json5,module.json5中相关配置使用代码获取咨询
390浏览 • 1回复 待解决
HarmonyOS 关于router.back问题的咨询
460浏览 • 1回复 待解决
HarmonyOS 关于页面埋点方案的咨询
452浏览 • 1回复 待解决
HarmonyOS 关于native aki库的功能咨询
125浏览 • 1回复 待解决
HarmonyOS 关于GIF图片播放功能的咨询
38浏览 • 1回复 待解决
关于系统定位缓存问题咨询
671浏览 • 1回复 待解决
创建的JS项目如何使用webview?
4702浏览 • 1回复 待解决
HarmonyOS js调用webview中的方法
481浏览 • 1回复 待解决
使用javaScriptOnDocumentStart试试,将JavaScript脚本注入到Web组件中,当指定页面或者文档开始加载时,该脚本将在其来源与scriptRules匹配的任何页面中执行。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-web-V5#javascriptondocumentstart11