karosLi/KKJSBridge

页面中iframe内页调用native方法之后,回调函数不执行

bullub opened this issue · 0 comments

问题描述:

  1. 外层页面上通过iframe嵌入内层页面,内层页面引入桥层脚本,并通过内层页面调用native方法,并传入回调;
  2. native执行函数之后,调用回调时,无法触发回调函数。

问题分析:

由于执行回调函数时,是通过webview当前上下文执行脚本触发的,但是iframe内页的上下文和外层页面的上下文是隔离的,可能也不同域,因此在外层页面上无法执行内层页面的脚本。而且如果有多个iframe内页的话,也不好标记该调用是哪个iframe发起的

如上,求一个可靠的解决方案。

备注:目前有一些多业务模块融合的情况,不同业务模块之间可能有相互引用的情况,而引用方式为了尽量减少对被接入方的改动需求,因此都采用iframe嵌入对方页面的方案。