我有一个UIWebView,尽管scalePageToFit设置为YES,但不会执行任何此类缩放操作:网页开始放大并且需要取消操作以获取整个页面上的内容。
什么可以阻止UIWebView :: scalesPageToFit被尊重?
答案 0 :(得分:3)
您可以通过JavaScript注入视口元素。
在此处查找viewport
元标记:Safari Meta Tags
<meta name="viewport" content="width=320, initial-scale=2.3, user-scalable=no">
答案 1 :(得分:1)
在项目中创建名为changePageWidth.js的文件:
function changePageWidth(width) {
var element = document.createElement('meta');
element.name = "viewport";
element.content = "width=" + width;
var head = document.getElementsByTagName('head')[0];
head.appendChild(element);
}
然后在UIWebView的委托的webViewDidFinishLoad中添加此代码:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *path = [[NSBundle mainBundle] pathForResource:@"changePageWidth" ofType:@"js"];
NSString *jsCode = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
[webView stringByEvaluatingJavaScriptFromString:jsCode];
NSString *jsCall = [NSString stringWithFormat:@"changePageWidth(%d)", webView.frame.size.width];
[webView stringByEvaluatingJavaScriptFromString:jsCall];
}
答案 2 :(得分:0)
可能是您可以使用javascript来调整浏览器的大小
NSString *jsCommand = [NSString stringWithFormat:@"document.body.style.zoom = 1.5;"];
webLookupView stringByEvaluatingJavaScriptFromString:jsCommand];