2 haitao0692 Haitao0692 于 2016.04.01 17:45 提问

js和iOS之间的交互的问题

在js端发出一个请求,在iOS的原生代码中,也就是webView去加载链接的时候,先去拦截url,拦截后,在iOS端去请求数据,请求下来数据后,把拿到的数据再去给js,然后js开始发出的链接的请求就会在js端返回iOS的请求数据。注意的是在js端并没有什么方法名之类的,js仅仅只是发出个url的请求。

4个回答

CSDNXIAOD
CSDNXIAOD   2016.04.01 17:52

iOS UIWeb与JS之间的交互
iOS和JS之间的交互
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

oyljerry
oyljerry   Ds   Rxr 2016.04.01 20:54

这个没办法做到,只能js和iOS互相调用。没办法修改hook

gbb123456
gbb123456   2016.04.07 10:15

如果只是在webview请求链接之前,拦截url,这个在webview的delegate中是有方法的。- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType。此方法会在跳转加载网页之前执行。

u012487695
u012487695   2016.08.03 02:48

建议很好用Cordova 或者叫phonegap的三方框架,嵌入一个CDVWebViewController,然后开发你自己的插件。当然,这需要后台也使用Cordova的一个JS库。webView本人只提供了一个很low的JS原生交互接口:evluateJavaScript,可以执行web内的js调用,返回值只能是一个对象,就是这个方法的返回值。如果是多个对象,js方面要对数据做包装,只能有一个返回值。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!