用的原生的框架,ios提供一个带参数的方法给js掉
JSExportAs(jsTopVisibility, -(void)jsTopVisibilityWithTag:(NSInteger)tag);
js页面中直接调用该方法,传递参数给我,但是实际情况是,我获取不到这个参数,js页面那边发现,直接掉我的方法时候会提示找不到这个方法,似乎是页面已经完成加载了,但是我的方法却还没有被调用?
js那边如果做个延时操作来调用我的方法,则可以调用成功。
希望有知道的,可以指点下,这是什么原理,以及该如何去操作?谢谢!
不知道你们是如何通信的,我之前做的时候是通过检测scheme进行通信的,JS将方法名及参数通过scheme携带过来,我及时截取到scheme拿到参数进行方法调用。
scheme大概这样:snxxx://wireless/api/httpClient?query=xxx
在webview的 shouldStartLoadWithRequest 代理方法里进行即使拦截,没有出现延迟的问题