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 <document.images.length;i++){" // 之所以i= 1,因为我的0号位是头像,其他都是需要放大的,适应屏幕的
"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 <document.images.length;i++){"
     "myimg = document.images[i];"
     "oldwidth = myimg.width;"
     "myimg.width = maxwidth;"
     "}"
     "}\";"
     "document.getElementsByTagName('head')[0].appendChild(script);ResizeImages();" completionHandler:nil];
}


运行后效果:



原效果:




评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值