iOS 与 js 交互,如果页面很简单的话,js掉用iOS的方法会显示,方法未定义?

用的原生的框架,ios提供一个带参数的方法给js掉
JSExportAs(jsTopVisibility, -(void)jsTopVisibilityWithTag:(NSInteger)tag);

js页面中直接调用该方法,传递参数给我,但是实际情况是,我获取不到这个参数,js页面那边发现,直接掉我的方法时候会提示找不到这个方法,似乎是页面已经完成加载了,但是我的方法却还没有被调用?

js那边如果做个延时操作来调用我的方法,则可以调用成功。

希望有知道的,可以指点下,这是什么原理,以及该如何去操作?谢谢!

阅读 2.9k
1 个回答

不知道你们是如何通信的,我之前做的时候是通过检测scheme进行通信的,JS将方法名及参数通过scheme携带过来,我及时截取到scheme拿到参数进行方法调用。

scheme大概这样:snxxx://wireless/api/httpClient?query=xxx

在webview的 shouldStartLoadWithRequest 代理方法里进行即使拦截,没有出现延迟的问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题