Html 如何更改WKWebView文本颜色?
我有一个带有Html 如何更改WKWebView文本颜色?,html,css,ios,swift,wkwebview,Html,Css,Ios,Swift,Wkwebview,我有一个带有WKWebView的ViewController,我用webView的文本加载.html和.css文件。它看起来就像是苹果图书应用程序中的阅读控制器 do { guard let filePath = Bundle.main.path(forResource: "index", ofType: "html") else { print ("
WKWebView
的ViewController
,我用webView
的文本加载.html
和.css
文件。它看起来就像是苹果图书应用程序中的阅读控制器
do {
guard let filePath = Bundle.main.path(forResource: "index", ofType: "html")
else {
print ("File reading error")
return
}
let headerString = "<meta name=\"viewport\" content=\"initial-scale=1.1\" />"
let content = try String(contentsOfFile: filePath, encoding: .utf8)
let baseUrl = URL(fileURLWithPath: filePath)
webView.loadHTMLString(headerString+content, baseURL: baseUrl)
}
catch {
print ("File HTML error")
}
do{
guard let filePath=Bundle.main.path(forResource:“index”,of type:“html”)
否则{
打印(“文件读取错误”)
返回
}
让headerString=“”
let content=try字符串(contentsOfFile:filePath,编码:.utf8)
让baseUrl=URL(fileURLWithPath:filePath)
loadHTMLString(headerString+内容,baseURL:baseURL)
}
抓住{
打印(“文件HTML错误”)
}
在我的
ViewController
中,我还有4个主题可以改变外观(白色、黑色、海军蓝和黄色,就像在苹果书中一样)。我想在更改主题时更改webView
中的文本颜色。怎么做?如何更改.html文件中webView
?的颜色您需要编写JavaScript函数(例如:changeColor),用于更改html元素的颜色。在ViewController中更改主题时,需要使用JavaScript函数名执行callAsyncJavaScript函数
let web = WKWebView()
web.callAsyncJavaScript("javaScriptFumction", in: WKContentWorld)
WKWebView为callAsyncJavaScript函数提供了异步实现。我有一些错误-。但这是iOS 14的解决方案。。。支持iOS 12,13怎么样?UIWebView也有类似的功能。你可以考虑切换到这个UI元素。但我想使用WKWebView和iOS部署目标12