将Javascript注入Webview - Swift

时间:2017-02-02 07:41:32

标签: ios iphone swift xcode webview

如何在加载一些自定义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";

2 个答案:

答案 0 :(得分:10)

只是做:

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)

答案 1 :(得分:6)

使用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)
        }
    }