阐述
WKWebView作为“新来”的则必然代表它有些“特殊”,这次我们先不讨论它俩的区别,我们来适配一下WKWebView所展示内容。
最近搞了一个产品,因合同条款后期需要动态修改,故用了一个链接来实现。
但问题也就随之而来,加载出来的文字大小与在浏览器选择手机模式时的不一致。
故网上寻求解决方法并填之。
记录
群众推荐的方法
1 让前端小哥添加
在前端小哥忙碌的时候,你是不能提任何要求的,还是我们自己处理吧。
2 利用WKWebView向网页内容中注入JS代码 (经测试有效果)
- (WKWebView *)webView {
if (!_webView) {
//以下代码适配大小
NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);";
WKUserScript *wkUScript = [[WKUserScript alloc] initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
WKUserContentController *wkUController = [[WKUserContentController alloc] init];
[wkUController addUserScript:wkUScript];
WKWebViewConfiguration *wkWebConfig = [[WKWebViewConfiguration alloc] init];
wkWebConfig.userContentController = wkUController;
_webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:wkWebConfig];
[self.view addSubview:_webView];
}
return _webView;
}