炫意html5
最早CSS3和HTML5移动技术网站之一

js调用oc后,执行oc方法(block里面),web数据没变!

-(void)webViewDidFinishLoad:(UIWebView *)webView { //saveUser submit
// 初始化content
self.context = [webView valueForKeyPath:@”documentView.webView.mainFrame.javaScriptContext”];

__weak typeof(self) weakSelf = self;
self.context[@"saveUser"] = ^{
NSArray *arg = [JSContext currentArguments];
for (id obj in arg) {
NSLog(@"obj is:%@", obj);
}
//保存 信息
dispatch_async(dispatch_get_main_queue(), ^{
[weakSelf.navigationController popViewControllerAnimated:YES];
//只显示文字
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:APP_SCREENWINDOW animated:YES];
hud.mode = MBProgressHUDModeText;
hud.label.text = @"保存成功!";
hud.margin = 10.f;
hud.offset = CGPointMake(0, 0.f);
hud.removeFromSuperViewOnHide = YES;
[hud hideAnimated:YES afterDelay:1.5f];
hud.userInteractionEnabled = NO;
});
};

}

获取到点击事件 后,web端的数据 没保存。。 怎么回事?

self.context[@”saveUser”] 不操作 这个 数据会保存。。 是web那边写的时候 没做ios处理?

回答

自己解决了!写一个对象(满足 继承与JSExport的协议),配合ajax,截取ajax里的函数及返回参数。

炫意HTML5 » js调用oc后,执行oc方法(block里面),web数据没变!

Java基础教程Android基础教程