iOS调用H5方法
站在用户的角度思考问题,与客户深入沟通,找到麻阳网站设计与麻阳网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、空间域名、网站空间、企业邮箱。业务覆盖麻阳地区。
UIWebView:NSString *result = [webView stringByEvaluatingJavaScriptFromString:@"javascript:add(3,5);"];
WKWebView:[self.webView evaluateJavaScript:@"show()" completionHandler:^(id _Nullable response, NSError * _Nullable error) { //TODO }];
可以的,只要接口调用跟native一样就可以了。
方法一、,速度完成与H5类似iOS 版本的APP,然后至少还需要招聘一名iOS开发人员,以解决iOS版本的更新迭代。(工作量和成本都很高)
方法二、针对AppStore进行包装。将HTML5应用用phonograph打包,取消HTML5中的弹簧效果等,让其看起来更像是一个原生应用。(适合刚开始进行HTML5开发人员,用phonegrap开发然后打包)
方法三、针对AppStore的规则,隐藏webview,在审核期间,展示APP的外壳,以供AppStore审核用。在审核通过后,可以通过后台,对其布局进行配置。这个时候,用户后打开的就是你在后台配置的布局了。。。
如果使用第三种,要注意几个地方。
1、APP审核期间要保证你的后台布局是为了给AppStore审核人员看的布局。
2、APP审核通过之后,其实也是有几率会被发现及下架的,做好最坏的打算。
3、试用与应急或者对APP体验要求不高的应用,一般服务类APP。
这种方法是利用拦截webView响应的url,对url进行处理,同时把需要执行的方法名和参数都放入url中,实现app和H5之前的方法交互:
这个属性是WKWebView才有的属性,主要是通过WKScriptMessageHandler的代理方法 - (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message 进行交互。
注意:
这两个方法是成对出现的,每次调用了add就必须调用remove。
1.建立 WebViewJavaScriptBridge 和 WebView 之间的关系。
_jsBridge = [WebViewJavascriptBridge bridgeForWebView:_webView];
2.方法调用
1)oc调js方法(通过data可以传值,通过 response可以接受js那边的返回值 )
2)js调oc方法(可以通过data给oc方法传值,使用responseCallback将值再返回给js)
最后:iOS调用H5方法
UIWebView: NSString *result = [webView stringByEvaluatingJavaScriptFromString:@"javascript:add(3,5);"];
WKWebView: [self.webView evaluateJavaScript:@"show()" completionHandler:^(id _Nullable response, NSError * _Nullable error) { //TODO }];