- - (void) webViewDidFinishLoad: (UIWebView * ) webView {
- //网页加载完成调用此方法
- //iOS调用js
- //首先创建JSContext 对象(此处通过当前webView的键获取到jscontext)
- JSContext * context = [webView valueForKeyPath: @"documentView.webView.mainFrame.javaScriptContext"];
- //js调用iOS
- //第一种情况
- //其中test1就是js的方法名称,赋给是一个block 里面是iOS代码
- //此方法最终将打印出所有接收到的参数,js参数是不固定的 我们测试一下就知道
- context[@"test1"] = ^() {
- NSArray * args = [JSContext currentArguments];
- for (id obj in args) {
- NSLog(@"%@", obj);
- }
- };
- //此处我们没有写后台(但是前面我们已经知道iOS是可以调用js的,我们模拟一下)
- //首先准备一下js代码,来调用js的函数test1 然后执行
- //一个参数
- NSString * jsFunctStr = @"test1('参数1')"; [context evaluateScript: jsFunctStr];
- //二个参数
- NSString * jsFunctStr1 = @"test1('参数a','参数b')"; [context evaluateScript: jsFunctStr1];
- }
来源: http://lib.csdn.net/snippet/ios/43460