'''
- (void)webViewDidFinishLoad:(UIWebView *)webView //網(wǎng)頁加載完成的時候調(diào)用
{
//這里是js蚊丐,主要目的實現(xiàn)對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;\
};";
//以上代碼是將富文本中的圖片添加上點擊功能---下面的方法是將富文本中包含的圖片地址全部存進數(shù)組,逗號分隔
[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];
// 執(zhí)行所注入的JS代碼
[webView stringByEvaluatingJavaScriptFromString:@"addImgClickEvent();"];
CGSize fittingSize = [webView sizeThatFits:CGSizeZero];//這個大小就是UIwebview加載完畢的實際大小
NSLog(@"網(wǎng)頁高度------:%f",fittingSize.height);
_web.sd_layout.heightIs(fittingSize.height);
//以下代碼的功能是禁止webview滑動,這樣的話,滑動tableview的時候就不會滑動webview了,就不會出現(xiàn)交互錯誤,如果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;//這個可以關(guān)掉UIwebview的交互性,使其不可點擊以及滑動,不過不到萬不得已不要用
//底下這通知是我通知tabview刷新高度呢
[[NSNotificationCenter defaultCenter]postNotificationName:@"WebViewHeight" object:[NSString stringWithFormat:@"%f",fittingSize.height+10]];
}
'''