h5页面源代码片段

现在需要获取window.oneshare.onShare()方法,然后进行分享功能的实现
不bb直接上源码
#import <JavaScriptCore/JavaScriptCore.h>
//首先创建一个实现了JSExport协议的协议
//此处实现JSExport协议,为了OC不去修改JS代码,只是获取JS中的点击事件
@protocol JSObjectProtocol <JSExport>
//跟js实例中一样名称的OC方法,必须的,否则不会执行
//- (void)onShareVoid;//js的方法没有参数
- (void)onShare:(NSString *)message;//js的方法有一个参数
@end
- (void)webViewDidFinishLoad:(UIWebView *)webView{
_jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
// 打印异常
_jsContext.exceptionHandler =
^(JSContext *context, JSValue *exceptionValue)
{
context.exception = exceptionValue;
NSLog(@"%@", exceptionValue);
};
// 以 JSExport 协议关联 window 的方法
_jsContext[@"oneshare"] = self;
}
- (void)onShare:(NSString *)message
{
NSString *JsonStr = [message substringFromIndex:5];
NSDictionary *JSDic = [self pareJSONStringToNSDictionary:JsonStr];
shareTitle = JSDic[@"title"];
shareDesc = JSDic[@"desc"];
shareImg = JSDic[@"imgUrl"];
shareLink = JSDic[@"link"];
[self shareAction];
}
就可以实现
参考资料
http://blog.csdn.net/robinson_911/article/details/53118427
网友评论