- (void)webViewDidFinishLoad:(UIWebView *)webView {
if (webView.isLoading) {
return;
}
if (self.title == nil) {
//获取title
self.webTitleStr = [self.webView stringByEvaluatingJavaScriptFromString:@"document.title"];
self.navigationItem.title = self.webTitleStr;
}
JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
context.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) {
context.exception = exceptionValue;
NSLog(@"异常信息:%@", exceptionValue);
};
//定义好JS要调用的方法,toShare就是调用的方法名
context[@"toShare"] = ^(NSDictionary *param) {
NSLog(@"description = %@",[param valueForKey:@"description"]);
NSLog(@"url = %@",[param valueForKey:@"url"]);
NSLog(@"title = %@",[param valueForKey:@"title"]);
};
}
和前端同事定义方法名。写法为
toShare({"url":"http://xxxxxxxx/share/xxxxx.html","title":"xxxxxxxx","description":"xxxxxxxxxxxxxxxxxxxxxx"});
前端H5同事如果没写过,可能会不知道传对象。 和安卓不同。
网上并没有多少,带传输参数的。遂发出来让大家好查。
安卓的为 window.Share.toSharetoShare("http://xxxxxxxx/share/xxxxx.html","xxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxx")