lodaDuan

Results 13 comments of lodaDuan

h5那是在JsBridge对象可以用后调用的,app的里面给h5调用的方法也不是耗时的,就返回一个json对象数据。日志里面看到app层已经回调给h5了,可是h5那边收不到回调,概率随机,访问越频繁越容易出现

h5项目是用vuejs写的,虽然是单页面应用,发现h5页面加载的时候会多次执行onPageFinished,也就会注入多次,会不会这个原因导致。每次h5页面路由跳转的时候延时调用JsBridge就会有回调。

但是那个方法我写了一个简单html,里面的button点击一次调用一次JsBridge,一直点击调用都会有回调

我改了一下onPageFinished回调里面的jsBridge.injectJs(view);只注入一次,后面再有回调也不执行jsBridge.injectJs(view);,发现h5回调正常了.

有没有其他办法解决多次注入问题,如果再次注入不用重新new对象

window.onJsBridgeReady好像只有在页面加载完成的时候回调一次,加载完再调用就不回调了,如何还能回调的话,我怎么修改下面代码呢,ready()方法好像没看到定义 this.OnJsBridgeReady = function() { try { var ready = window.onJsBridgeReady; if (ready && typeof(ready) === 'function') { ready() } else { var readyEvent = document.createEvent('Events'); readyEvent.initEvent('onJsBridgeReady'); document.dispatchEvent(readyEvent); } }...

js不太熟悉,那我怎么修改代码呢,现在只有JsBridge初始化完成才回调,后面再调用不回调了

iOS那边可以多次回调,部分h5项目有些是window.onJsBridgeReady()回调里面调用jsbridge方法的,没有回调导致运行不起来,也没法找人家改。我就想想怎么修改代码实现即使jsbridge对象已经有了,也可以回调

不是在这段代码里面修改吗 this.OnJsBridgeReady = function() { try { var ready = window.onJsBridgeReady; if (ready && typeof(ready) === 'function') { ready() } else { var readyEvent = document.createEvent('Events'); readyEvent.initEvent('onJsBridgeReady'); document.dispatchEvent(readyEvent); } }...

h5项目是vuejs写的,单页面应用,只有一个html,页面路由切换,会执行webview的onPageFinished回调,导致多次注入js,后来我修改了注入的代码,如果JsBridge对象已经有了,就不创建新的对象了。现在发现有些h5的项目是在每个路由页面里面调用window.onJsBridgeReady(),在回调里面调用JsBridge方法。因为第一个路由页面里面已经初始化完成了JsBridge,切换页面后导致其他页面的window.onJsBridgeReady()没有回调了。