将JavaScript注入Webview – Swift

加载一些自定义html后,如何注入JavaScript到webview(IOS / Swift)。

@IBOutlet weak var webView: UIWebView! var html = "<div id='test'></div>" self.webview.loadHTMLString(html, baseURL: nil) 

我想加载我的自定义HTML后,将以下JavaScript注入到webview中。

 var myelement = document.getElementById("test"); myelement.innerHTML= "New Text"; 

做就是了:

 let js = "var myelement = document.getElementById(\"test\");myelement.innerHTML= \"New Text\";" webView.evaluateJavaScript(js, completionHandler: nil) 

如果您使用的是UIWebView而不是WKWebView ,请执行以下操作:

 let js = "var myelement = document.getElementById(\"test\");myelement.innerHTML= \"New Text\";" _ = webView.stringByEvaluatingJavaScript(from: js) 

使用WKWebview并使用WKNavigationDelegate委托

 func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) { let str = "setData(\"\(uid)\",\"\(DataProvider.sharedInstance.baseUrl)\")" self.webView.evaluateJavaScript(str) { (id, error) in print(error) } }