自学过程就是这样,搞到一半,东看看西看看发现都学了点,不知道下一步干嘛,但是真正要让开始又不会,有点尴尬啊。仔细想想在使用别的webapp时还有啥没接触到的,这样就能想到还要学啥了。譬如,web前端与后台是怎样交互的(貌似ajax能做远程交互,本地交互可能涉及数据库,后面再验证)?还有页面的js是怎么跟移动端交互的,所以就有了今天的主题。
1.android与js的交互
android端:
首先得允许webview支持js,所以webview.getSettings().setJavascriptEnabled(true);
然后给webview注册js调用方法
/** * js接口 */ public interface WebViewJSInterface { @JavascriptInterface void startAppActivity(String json); } webview.addJavascriptInterface(new WebViewJSInterface (this), "android"); 在web端js中调用即可:window.android.startAppActivity(你的json);
2.ios与js的交互
ios这边比较源远流长,有个前辈写了一大篇,挺详细的http://www.cnblogs.com/zhun/p/5664075.html
最终木有采用他说的那些,用的是小蔡彪他们用的ovgap第三方库
web端js首先引入ovgap.js,我是去网上下载放到本地
<script type="text/javascript" src="js/lib/ovgap.js"></script>
然后调用里面的方法:
window.ov_gap.dispatchCommand('onWebComponents', 你的json,"api":{}}, null, null); window.ov_gap.activate();
ios端:
-(BOOL)webView:(UIWebView *)webViewshouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{}
捕获js请求后再做处理