UIWebView和WKWebView 改变HTML 图片尺寸 及 字体大小

今天晚上用WebKit 加载 HTML 的时候,发现传过来的 图片 尺寸不是很美丽,

于是乎 就想着,在加载完成之后,通过JS修改HTML中的图片尺寸,琢磨了半天,谢了一段js,成功了,可能存在一小点瑕疵,但是主体要完成的目的还是达到了。

啥也不说了,上代码,


一、UIWebView 中的 方法可以直接加载

stringByEvaluatingJavaScriptFromString:

- (void)webViewDidFinishLoad:(UIWebView *)webView

{
[webView stringByEvaluatingJavaScriptFromString:
@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"function ResizeImages() { "
"var myimg,oldwidth;"
"var maxwidth = 1000.0;" // UIWebView中显示的图片宽度
"for(i= 1;i "myimg = document.images[i];"
"oldwidth = myimg.width;"
"myimg.width = maxwidth;"
"}"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);
ResizeImages();
"];
}


二、WKWebVIew 也就是方法不一样

 设置自己为 webView的navigationDelegate通过

 [evaluateJavaScript:completionHandler: ]方法,JS部分和上面的一样。

- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
    [ webView evaluateJavaScript:@"var script = document.createElement('script');"
     "script.type = 'text/javascript';"
     "script.text = \"function ResizeImages() { "
     "var myimg,oldwidth;"
     "var maxwidth = 1000.0;" // UIWebView中显示的图片宽度
     "for(i=1;i      "myimg = document.images[i];"
     "oldwidth = myimg.width;"
     "myimg.width = maxwidth;"
     "}"
     "}\";"
     "document.getElementsByTagName('head')[0].appendChild(script);ResizeImages();" completionHandler:nil];
}


运行后效果:

UIWebView和WKWebView 改变HTML 图片尺寸 及 字体大小_第1张图片



原效果:


UIWebView和WKWebView 改变HTML 图片尺寸 及 字体大小_第2张图片


你可能感兴趣的:(WebKit相关,ios,webkit,webview,html,javascript)