- 开发工具:Xcode9 语言:Swift4 系统环境:ipad ios10+
1.修改背景色
webView.evaluateJavaScript("document.getElementsByTagName('body')[0].style.background = '#B0C4DE'", completionHandler: nil)
2.图片放大
- 遍历所有图片,
width
是按照当前webView的宽度比例,height = 'auto'
按照width
自适应
webView.evaluateJavaScript(
"""
for (var j=0;j<document.images.length;j++) {
document.images[j].style.width = '50%';
document.images[j].style.height = 'auto';
}
"""
, completionHandler: nil)
3.字体放大
-
iphone
通常字体放大使用webkitTextSizeAdjust
整体放大,但是此方法在iPad
上不能使用。
3.1 iPhone字体放大
webView.evaluateJavaScript("document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '200%'", completionHandler: nil)
3.2 iPad字体放大
webView.evaluateJavaScript("document.getElementsByTagName('body')[0].style.fontSize = '200%'", completionHandler: nil)
- 特殊情况,当
<span style=\"font-size: 18px;\">
设置了字体大小document.getElementsByTagName('body')[0].style.fontSize
并不能去改变其字体大小.如要重新设置
// 所有span标签字体放大
webView.evaluateJavaScript(
"""
for (var j=0;j<document.getElementsByTagName('span').length;j++) {
document.getElementsByTagName('span')[j].style.fontSize = '100%';
}
"""
, completionHandler: nil)
4. 禁止缩放
webView.evaluateJavaScript(
"""
var script = document.createElement('meta');
script.name = 'viewport';script.content=\"user-scalable=no\";
document.getElementsByTagName('head')[0].appendChild(script);
"""
, completionHandler: nil)
5. 初始化页面大小
webView.evaluateJavaScript(
"""
var script = document.createElement('meta');
script.name = 'viewport';
script.content=\"width=device-width, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no\";
document.getElementsByTagName('head')[0].appendChild(script);
"""
, completionHandler: nil)
- 标签里的scale值就是页面的初始化页面大小,
< initial-scale >
和可伸缩放大最大< maximum-scale >
和最小< minimum-scale >
的的倍数,<user-scalable>
是否支持缩放,如果还有别的需求可自行设置,如果都为1表示初始化的时候显示为原来大小,可缩放的大小都为原来的大小<即不可缩放>。
网友评论