FlutterFlutterFlutter圈子

Flutter WebView 是否可以使用addJavascr

2019-08-05  本文已影响21人  champions_mvp

       最近两个月一直在研究Flutter项目,目的是为了开发一款Flutter应用去替换之前的Android和IOS应用。

       一开始都有条不紊地进行着,直到遇到一个坑,原先的项目使用了大量的H5,利用android和IOS中的Webview去加载这些链接,其中就避免不了JS的交互,我知道android和IOS都支持addJavascriptInterface的方法去暴露一个对象给JS,这样JS就可以直接调用原生的一些方法。

Android实现方法:webview.addJavascriptInterface(new JSInterface(), "nativeApis");

IOS实现方法:JSInterface* interface = [JSInterface new];

                       [self.myWebView addJavascriptInterfaces:interface WithName:@"nativeApis"];

这样JS代码就可以直接使用nativeApis.getXXX()去调用原生方法。

为了不去修改那些H5项目,在Flutter项目中,我也必须实现类似方法,但Flutter的webview并不支持类似机制,要想调用Flutter的方法,就必须修改js的调用方法,将nativeApis.getXXX()改成getXXX.postMessage(),所以想在这里问问大家,有没有什么办法可以解决我的问题?

上一篇下一篇

猜你喜欢

热点阅读