可以使用 WKWebView 的 evaluateJavaScript 方法来替换已经加载的 HTML 字符串中的部分内容。
具体来说,你可以先用 WKWebView 的 loadHTMLString 方法加载一个 HTML 字符串,然后在加载完成后,再用 evaluateJavaScript 方法来修改其中的内容。
下面是一个示例代码,其中使用了 jQuery 库来查找并替换 HTML 内容:
import WebKit
class ViewController: UIViewController, WKNavigationDelegate { var webView: WKWebView!
override func viewDidLoad() { super.viewDidLoad()
// 创建 WKWebView let configuration = WKWebViewConfiguration() webView = WKWebView(frame: view.bounds, configuration: configuration) webView.navigationDelegate = self view.addSubview(webView)
// 加载 HTML 字符串 let htmlString = """ <html> <body> <h1 id="title">Hello, World!</h1> <p id="content">This is a sample HTML string.</p> </body> </html> """ webView.loadHTMLString(htmlString, baseURL: nil) }
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { // 使用 jQuery 查找并替换 HTML 内容 let script = """ $('#title').text('New Title'); $('#content').text('New Content'); """ webView.evaluateJavaScript(script, completionHandler: nil) } }
|
在这个示例代码中,首先创建了一个 WKWebView,并使用 loadHTMLString 方法加载了一个 HTML 字符串。在 WKWebView 的 didFinish 回调方法中,使用 evaluateJavaScript 方法执行了一个 JavaScript 脚本,该脚本使用 jQuery 查找了 HTML 中的标题和内容,并将它们替换为新的标题和内容。
当 WKWebView 执行完 JavaScript 脚本后,它会自动更新显示的内容。