将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) } }