iOS的WebView中使用javascript调用原生的api
2014-09-02 16:32
507 查看
1. 首先在javascript中加入相关代码
2. iOS保存图片到本地代码
$('.content .saveCode').on('touchstart', function () {//touchstart if (temp == 0) { jump(); } if (temp == 1) { android.savePic(image.src); } }); function jump() {//IOS var touchstart = true; window.location = "/touchstart"; //改变URL 注意:要使用"/"分隔符 } function postStr() {//IOS return image.src; }
2. iOS保存图片到本地代码
// 当加载完网页取到imageurl - (void)webViewDidFinishLoad:(UIWebView *)webView { _urlString = [_myWebView stringByEvaluatingJavaScriptFromString:@"postStr();"]; NSLog(@"%@",_urlString); } // 调用次序 - shouldStart->FinishLoad->回调block函数 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if ([request.mainDocumentURL.relativePath isEqualToString:@"/touchstart"]) { UIImageFromURL( [NSURL URLWithString:_urlString], ^( UIImage * image ) { UIImageWriteToSavedPhotosAlbum( image, self, @selector( onSaveComplete:didFinishSavingWithError:contextInfo: ), nil ); }, ^(void){ NSLog(@"error!"); }); return false; } return true; } void UIImageFromURL( NSURL * URL, void (^imageBlock)(UIImage * image), void (^errorBlock)(void) ) { dispatch_async( dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0 ), ^(void) { NSData * data = [[NSData alloc] initWithContentsOfURL:URL]; UIImage * image = [[UIImage alloc] initWithData:data]; dispatch_async( dispatch_get_main_queue(), ^(void){ if( image != nil ) { imageBlock( image ); } else { errorBlock(); } }); }); }
相关文章推荐
- WebView原生方法---使用javascript调用android代码
- WebViewJavascriptBridge 使用 js调iOS原生代码
- iOS 基于JavaScriptCore 不等webView加载完毕就交互,网页获取原生内容。 webView的高级用法之JS交互,js与oc的相互调用
- IOS之JavaScript与OC的相互调用:WKwebview 的使用
- Android WebView使用之JavaScript调用Java代码注意事项
- IOS webView 与JavaScriptCore 框架结合使用
- iOS原生WebView中JavaScript和OC交互
- Android中Webview使用javascript调用事先定义好的Java函数
- iOS关于UIWebView和Javascript相互调用及WebViewJavascriptBridge分析
- IOS 与 Android WebView 中 JS 调用原生代码
- Android WebView中使用Java调用JavaScript方法并获取返回值
- WebViewJavascriptBridge使用说明(iOS)
- IOS应用加载本地WebView禁止进行缓存(使用私有api)
- iOS webView中JavaScript打开原生ViewController(截取版)
- WebViewJavascriptBridge使用说明(IOS)
- iOS开发之Objective-C(Swift)与JavaScript交互·WebViewJavascriptBridge使用篇
- IOS-WebViewJavascriptBridge使用说明
- 使用WebView中的JavaScript调用android的方法
- IOS应用加载本地WebView禁止进行缓存(使用私有api)
- WebViewJavascriptBridge使用说明(IOS)