wkwebview не обнаруживает номера телефонов при загрузке HTML-контента с использованием JavaScript - PullRequest
0 голосов
/ 05 марта 2019

wkdatdetectortypes = .all не обнаруживает никаких данных, таких как номера телефонов, адреса и т. Д. В wkwebview.Это происходит только при загрузке строки HTML с использованием JavaScript.Если это сделано с помощью loadHTMLString, данные обнаружены правильно.Может ли кто-нибудь помочь мне в этом.спасибо.

вот мой код для справки:

    let config = WKWebViewConfiguration()

    config.dataDetectorTypes = [WKDataDetectorTypes.all]



    webview = WKWebView(frame: .zero, configuration: config)

    webview.isUserInteractionEnabled = true

    webview.backgroundColor = .white

    webview.navigationDelegate = self

    webview.uiDelegate = self

    webview.allowsLinkPreview = true

    webview.translatesAutoresizingMaskIntoConstraints = false



    let bundleURL = Bundle.main.resourceURL!.absoluteURL

    let html = bundleURL.appendingPathComponent("index.html")           //index.html is in the same project file path.

    webview.loadFileURL(html, allowingReadAccessTo:bundleURL)



    let testString = "My contact number is: 1243233423"

// загрузка строки html с использованием javascript.

    let stringToBeLoaded = "var text=\"\(testString)\";showText(text);        //showText() is a method in the index.html file to set the content.

    webview.evaluateJavaScript(stringToBeLoaded, completionHandler: nil)          //Doing this way is not detecting the phone number

// загрузка строки html

    webview.loadHTMLString(testString, baseURL: nil)          //Doing this way is identifying the phone number and converting it to a clickable link from which I can call to this number.
...