在Safari中,你可以调整字体大小。我如何在WKWebView中实现相同的效果?
由Inna建议的代码以前可以工作,但从iOS10.3开始停止工作。我进行了一些研究,并发现我们需要对其进行轻微更改,只需将"%%"更改为单个"%"即可。
所以JS代码应该是:
let js = "document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust='\(fontSize)%'"
我从苹果开发者论坛得到了这些信息。 https://forums.developer.apple.com/thread/51079
Swift 5 解决方案:
实现 WKNavigationDelegate
并在 viewDidLoad
中:
webView.navigationDelegate = self
然后在 didFinish
方法中:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
let js = "document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust='200%'"//dual size
webView.evaluateJavaScript(js, completionHandler: nil)
}
NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%lu%%'",(unsigned long)fontUpdatedHeight];
执行NSString
[self.WKWebView stringByEvaluatingJavaScriptFromString:jsString];
stringByEvaluatingJavaScriptFromString:jsString
方法,这个方法是UIWebView的。 - BinaryNate