Проблема с использованием кода JavaScript в моем приложении Swift - PullRequest
0 голосов
/ 22 апреля 2019

В настоящее время я пытаюсь внедрить код javascript в мое приложение swift, используя WKWebView, используя это 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 голосов
/ 22 апреля 2019

Вы можете использовать так называемое evaluateJavaScript() в WkWebView, а затем прочитать результат в коде Swift.

Вот краткий пример:

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