您的位置:首页 > 移动开发

iOS UIWebView 图片大小调整

2015-10-09 11:56 393 查看
在 uiwebView的didfini 中执行函数

#pragma mark 拦截并修改图片大小

- (void)modifyImageToFitScreen:(UIWebView *)webView

{

[webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"

"script.type = 'text/javascript';"

"script.text = \"function ResizeImages() { "

"var myimg,oldwidth;"

"var maxwidth= document.body.offsetWidth;"

"for(i=0;i <document.images.length;i++){"

"myimg = document.images[i];"

"if(myimg.width > maxwidth){"

"oldwidth = myimg.width;"

"myimg.width = maxwidth;"

"}"

"}"

"}\";"

"document.getElementsByTagName('head')[0].appendChild(script);"];

[webView stringByEvaluatingJavaScriptFromString:@"ResizeImages();"];

}

这个在网上找到了很多代码 但是调整都不是很对 主要是因为

当调整宽度之后 高度js会自定按比例计算图片的新的高度不用再去计算了
否者就是二次按比例缩放

Javascript:

网页可见区域宽: document.body.clientWidth

网页可见区域高: document.body.clientHeight

网页可见区域宽: document.body.offsetWidth (包括边线的宽)

网页可见区域高: document.body.offsetHeight (包括边线的高)

网页正文全文宽: document.body.scrollWidth

网页正文全文高: document.body.scrollHeight

网页被卷去的高: document.body.scrollTop

网页被卷去的左: document.body.scrollLeft

网页正文部分上: window.screenTop

网页正文部分左: window.screenLeft

屏幕分辨率的高: window.screen.height

屏幕分辨率的宽: window.screen.width

屏幕可用工作区高度: window.screen.availHeight

屏幕可用工作区宽度: window.screen.availWidth

这是搜集的资料 保留已做记录 后续有需要直接可以拿过来

最后附上主要的参考资料 出处:http://zxs19861202.iteye.com/blog/1853102
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: