WKWebView中的字体看起来比UIWebView中的字体小 [英] The font looks like smaller in WKWebView than in UIWebView
本文介绍了WKWebView中的字体看起来比UIWebView中的字体小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我将UIWebView更改为WKWebView,但是,使用相同的html,WKWebView中的字体看起来比UIWebView中的字体小.我不希望发生这种情况,那么有什么办法可以避免这种更改?
I changed UIWebView to WKWebView,however,with the same html,the font in WKWebView looks like smaller than in UIWebView.I don't want this happen,so is there any way to avoid this change?
推荐答案
最后,我通过添加html字符串解决了这个问题:
Finally I solved this problem by adding an html string:
- 对于Objective-C:
NSString *headerString = @"<header><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no'></header>";
[self.webView loadHTMLString:[headerString stringByAppendingString:yourHTMLString] baseURL:nil];
- 对于Swift:
- For Swift:
let headerString = "<header><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no'></header>"
webView.loadHTMLString(headerString + yourHTMLString, baseURL: nil)
此外,如果您要加载url而不是html,则可以尝试:
What's more,if you want to load url rather than html you can try:
private var isInjected: Bool = false
webView.navigationDelegate = self
// MARK: - WKNavigationDelegate
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
if isInjected == true {
return
}
self.isInjected = true
// get HTML text
let js = "document.body.outerHTML"
webView.evaluateJavaScript(js) { (html, error) in
let headerString = "<header><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no'></header>"
webView.loadHTMLString(headerString + (html as! String), baseURL: nil)
}
}
这篇关于WKWebView中的字体看起来比UIWebView中的字体小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文