有没有成熟的webview:javascript-nativecode交互方案
两个平台的实现完全不一样,很担心以后做向后兼容的时候会是个大坑啊
补充A:混合型app,不是全native code的
Android html5 hybrid-app ios JavaScript
塞巴斯蒂安
10 years, 2 months ago
Answers
1,JS 使用了两种方式来与 Objective-C 通信,一种是使用 XMLHttpRequest 发起请求的方式,NSURLProtocol 的子类来检查每个请求,如果地址是自定义的协议头,拦截之;另一种则是通过设置透明的 iframe 的 src 属性,JS 端创建一个透明的 iframe,设置这个 ifame 的 src 为自定义的协议,而 ifame 的 src 更改时,UIWebView 会先回调其 delegate 的 webView:shouldStartLoadWithRequest:navigationType: 方法。
2,Objective-C 跟 JS 通信,使用UIWebView 的方法 stringByEvaluatingJavaScriptFromString:。
allfou
answered 10 years, 2 months ago