[英]How to change UIWebView font by using JavaScript?
I am wondering how to change font by using JavaScript. 我想知道如何通过使用JavaScript来更改字体。
While this: 虽然这样:
let fontName = "AmericanTypewriter-CondensedBold"
if let infoString = config.textAboutApplication {
infoView.loadHTMLString(NSString(format: "<div style='text-align:left;font-family:%@'>%@<div>", fontName, infoString) as String, baseURL: nil)
}
produces proper outcome with formatted text, JavaScript version does not: 产生带有格式文本的正确结果,JavaScript版本不会:
func webViewDidFinishLoad(webView: UIWebView)
{
let fontName = "AmericanTypewriter-CondensedBold"
let jsString = NSString(format: "document.getElementById('p').style.fontFamily = '%@'", fontName)
webView.stringByEvaluatingJavaScriptFromString(jsString as String)
}
The HTML text does have p
tag and text inside, so I am doing something wrong regarding the JavaScript part probably. HTML文本的内部确实带有
p
标签和文本,所以关于JavaScript部分,我可能做错了。
Ok I was trying thing around, JavaScript is not my strongest thing, and this works 好的,我正在尝试,JavaScript不是我最强的东西,这可行
let fontName = "AmericanTypewriter-CondensedBold"
let jsString = NSString(format: "document.getElementsByTagName('p')[0].style.fontFamily = '%@'", fontName)
let js = webView.stringByEvaluatingJavaScriptFromString(jsString as String)
EDIT: I did custom implementation regarding this messy solution to be more swifty cool. 编辑:我对此杂乱的解决方案进行了自定义实现,以使其变得更加快捷。 :) https://github.com/Vanyaslav/Swiftyyjsformatter
:) https://github.com/Vanyaslav/Swiftyyjsformatter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.