第一步:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString * imageJavaScript =
@"function assignImageClickAction() { \
var a = document.getElementsByTagName('img'); \
var b = a.length; \
for (var i = 0; i < b; i++) { \
img = a[i]; \
img.onclick = function() { \
window.location.href = 'image-preview:' + this.src \
} \
} \
}";
[self.webView stringByEvaluatingJavaScriptFromString:imageJavaScript];
[self.webView stringByEvaluatingJavaScriptFromString:@"assignImageClickAction();"];
}
第二步:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
//预览图片
if ([request.URL.scheme isEqualToString:@"image-preview"]) {
NSString* path = [request.URL.absoluteString substringFromIndex:[@"image-preview:" length]];
path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[self.imageView setImageWithURL:[NSURL URLWithString:path] placeholderImage:[UIImage imageNamed:@"default"] usingActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
[UIView animateWithDuration:0.2f animations:^{
self.imageView.alpha = 1.0f;
}];
return NO;
}
return YES;
}
*****关键点*****
image-preview 这个名字两个webview方法里得一致
网友评论