NSString *htmls = [NSString stringWithFormat:@"<html> \n" "<head> \n" "<style type=\"text/css\"> \n" "body {font-size:15px;}\n" "</style> \n" "</head> \n" "<body>" "<script type='text/javascript'>" "window.onload = function(){\n" "var $img = document.getElementsByTagName('img');\n" "for(var p in $img){\n" " $img[p].style.width = '100%%';\n" "$img[p].style.height ='auto'\n" "}\n" "}" "</script>%@" "</body>" "</html>",htmlString];
[self.webView loadHTMLString:htmlString baseURL:nil];
原理就是用一個for循環,拿到全部的圖片,對每一個圖片都處理一次,讓圖片的寬爲100%,就是按照屏幕寬度自適應;讓圖片的高atuo,自動適應。文字的字體大小,能夠去改font-size:15px,這裏我用的是15px。根據本身的具體需求去改吧。javascript
[webView stringByEvaluatingJavaScriptFromString:css
@"var script = document.createElement('script');"html
"script.type = 'text/javascript';"java
"script.text = \"function ResizeImages() { "web
"var myimg,oldwidth;"app
"var maxwidth=300;" //縮放係數 改變參數控制圖片縮放大小字體
"for(i=0;i <document.images.length;i++){"lua
"myimg = document.images[i];"spa
"if(myimg.width > maxwidth){"code
"oldwidth = myimg.width;"
"myimg.width = maxwidth;"
"myimg.height = myimg.height * (maxwidth/oldwidth);"
"}"
"}"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[webView stringByEvaluatingJavaScriptFromString:@"ResizeImages();"];