Inject Javascript into 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 注入到 Web 视图中。

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 Delegate

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

最新更新