'''
- (void)webViewDidFinishLoad:(UIWebView *)webView //网页加载完成的时候调用
{
//这里是js,主要目的实现对url的获取
static NSString * const jsGetImages =
@"function getImages(){\
var objs = document.getElementsByTagName(\"img\");\
var imgScr = '';\
for(var i=0;i<objs.length;i++){\
imgScr = imgScr + objs[i].src + '+';\
};\
return imgScr;\
};";
//以上代码是将富文本中的图片添加上点击功能---下面的方法是将富文本中包含的图片地址全部存进数组,逗号分隔
[webView stringByEvaluatingJavaScriptFromString:jsGetImages];//注入js方法
NSString *urlResurlt = [webView stringByEvaluatingJavaScriptFromString:@"getImages()"];
self.imageUrl = [NSMutableArray arrayWithArray:[urlResurlt componentsSeparatedByString:@"+"]];
if (self.imageUrl.count>0) {
NSString *str=[NSString stringWithFormat:@"%@",self.imageUrl[self.imageUrl.count-1]];
if ([str length]<10) {//最后一个图片地址长度小于10 证明是个不完整的图片一般正常的都超过10
[self.imageUrl removeObjectAtIndex:self.imageUrl.count-1];
}
}
NSLog(@"*-*-*-*-*-*%@",self.imageUrl);
NSString *js = @"function addImgClickEvent() { \
var imgs = document.getElementsByTagName('img'); \
for (var i = 0; i < imgs.length; ++i) { \
var img = imgs[i]; \
img.onclick = function () { \
window.location.href = 'xsq-image:' + this.src; \
}; \
} \
}";
// 注入JS代码
[webView stringByEvaluatingJavaScriptFromString:js];
// 执行所注入的JS代码
[webView stringByEvaluatingJavaScriptFromString:@"addImgClickEvent();"];
CGSize fittingSize = [webView sizeThatFits:CGSizeZero];//这个大小就是UIwebview加载完毕的实际大小
NSLog(@"网页高度------:%f",fittingSize.height);
_web.sd_layout.heightIs(fittingSize.height);
//以下代码的功能是禁止webview滑动,这样的话,滑动tableview的时候就不会滑动webview了,就不会出现交互错误,如果webview不是加载在UITableview上得话就不用这段代码了
for (id subview in webView.subviews)
if ([[subview class] isSubclassOfClass: [UIScrollView class]])
((UIScrollView *)subview).bounces = NO;
webView.scrollView.bounces = NO;
// _web.userInteractionEnabled=NO;//这个可以关掉UIwebview的交互性,使其不可点击以及滑动,不过不到万不得已不要用
//底下这通知是我通知tabview刷新高度呢
[[NSNotificationCenter defaultCenter]postNotificationName:@"WebViewHeight" object:[NSString stringWithFormat:@"%f",fittingSize.height+10]];
}
'''