在我的Swift应用程序中使用JavaScript代码时出现问题

时间:2019-04-22 10:49:41

标签: swift swift3 webkit

我目前正尝试使用WKWebView在我的swift应用程序中实现javascript代码,并将该js用作快捷方式,并通过Safari浏览器运行。

该脚本如何实现才能在我的webview中使用?

override func viewDidLoad() {
        super.viewDidLoad()

        //self.navigationItem.hidesBackButton = false
        self.navigationItem.setHidesBackButton(false, animated:true)

        let script =    """
                LONG SCRIPT HERE
                """
        let userScript = WKUserScript(source: script, injectionTime: .atDocumentStart, forMainFrameOnly: true)

        let contentController = WKUserContentController()
        contentController.addUserScript(userScript)

        let webViewConfiguration = WKWebViewConfiguration()
        webViewConfiguration.userContentController = contentController

        let viewContainer = WKWebView(frame: CGRect(x:0, y:0, width: UIScreen.main.bounds.width, height:UIScreen.main.bounds.height), configuration: webViewConfiguration)

        let startURL = URL(string: "MY URL")
        let myURLRequest:URLRequest = URLRequest(url: startURL!)
        viewContainer.load(myURLRequest)

        self.view.addSubview(viewContainer)
        viewContainer.navigationDelegate = self


    }

1 个答案:

答案 0 :(得分:0)

您可以在evaluateJavaScript()中使用所谓的WkWebView,然后以Swift代码读取结果。

这是一个简单的示例:

    webView.evaluateJavaScript("document.getElementById('someElement').innerText") { (result, error) in
    if error != nil {
        print(result)
    }
}