简单记录一下,有时间再完善
JS调用oc代码,OC方法传给JS值,或JS传给OC值1,导入框架:JavaScriptCore.Framework2, 新建一个类:继承NSObject;(我们把需要提供给js的方法写在这个类里面) 如下图:我的类名叫XY_web,(我的头文件写在pch里面了)
在类里面创建代理,注意代理继承与这个代理里面的方法都是提供给js调用的.
接下来,可以在这个类里面声明连个属性;
@property (nonatomic, weak) JSContext *jsContext;
@property (nonatomic, weak) UIWebView *webView;
如下图方法,js给OC传值或OC给js传值,
.m中
做好了上述准备,接下来就去我们的webview页面实现了相互调用了
我用的UIWebView;
在我们的webview类中,加入头文件
下面是实现,比较简单
在webview的代理方法中
//webview加载完成之后调用的方法
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
_context = [self.listWebview valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
XY_web *XY = [XY_web new];
_context[@"XY"] = XY;
XY.storeid = self.storeid;
XY.delegate = self;
XY.jsContext = _context;
XY.webView = webView;
}
下图是js代码 调用OC方法
网友评论