iOS开发中JS调用原生方法并传值
来源:互联网 发布:金庸武侠 知乎 编辑:程序博客网 时间:2024/05/24 04:33
项目需要,闲着无事,这里特来记录下JS调用原生并且给控制器传值调用方法等的操作;
步骤如下;
1. 倒入框架
#import <JavaScriptCore/JavaScriptCore.h>倒入框架(如不知道这个框架的作用,请自行查找下相关资料,这里指介绍怎么使用)
2.声明协议,相当于代理,给本控制器需要被js调用的方法写协议
@protocol JSTungExport <JSExport>
// 参数
-(void)yourMethod:(NSString *)param;
// 无参
-(void)yourMethod;
@end
3. 添加属性
JSContext *jsContext;(js的一个执行环境)
3. 在控制器中写下如下代码
class_addProtocol([yourVC class],@protocol(JSTungExport));
4. 在webview的delegate中实现js的相关方法,
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
jsContext = [self.jsWebViewvalueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
jsContext[@"params"] = self; // 此处的参数是js那边待用本地方法的前缀名,如:(params.yourMethod),(params.yourMethod:参数)
// 以上的参数与前端沟通,看他是怎么写的;
}
5. 实现方法
// 参数
-(void)yourMethod:(NSString *)param
{
}
// 无参
-(void)yourMethod
{
}
上述只讲道js调用本地方法并且传参数,oc调用js的方法传参数等比较简单,这里就不做讲解了。
- iOS开发中JS调用原生方法并传值
- iOS开发-基于原生JS与OC方法互相调用并传值(附HTML代码)
- iOS开发-基于原生JS与OC方法互相调用并传值(附HTML代码)
- iOS开发-基于原生JS与OC方法互相调用并传值(附HTML代码)
- android原生webview中调用JS方法并传递参数给JS遇到的问题
- js调用ios原生多种写法参考及js调用android原生方法参考
- js 调用原生 安卓 ios 分享、等 方法
- IOS 与 Android WebView 中 JS 调用原生代码
- iOS中JS与原生OC互相调用之JavaScriptCore
- ReactNative-JS调用原生方法
- 原生js调用json方法
- 原生js调用json方法
- js调用原生方法解决办法
- react调用原生iOS方法
- Silverlight中调用JS方法并获取返回值
- iOS 本地OC与JS互相调用并传值
- js调用Android、ios原生代码
- phoneGap开发IOS,JS调用IOS方法/phoneGap插件开发
- 编写linux service并设置开机启动(Ubuntu)
- IOS 导出ipa包时四个选项的意义
- Swift高手进阶 - 10个技巧
- Access键盘快捷键大全(九)
- order by 与 group by 区别
- iOS开发中JS调用原生方法并传值
- 关于日期格式转换问题
- Spring-Security 运行流程
- iOS10 Xcode8真机测试 code signing is required for product type 'Application' in SDK 'iOS 10.1'
- JAVA加密解密之数字证书
- cell复用解决办法
- 文本分类与SVM 原文地址:http://blog.csdn.net/zhzhl202/article/details/8197109
- android_JNI学习
- js中的removeChild问题 求助