wkdatdetectortypes = .all is not detecting any of the data like phone numbers, address etc. in wkwebview. This is happening only when loading the html string using javascript. If it is done using loadHTMLString, the data is detected properly. can anyone help me in the regard. thank you.
here is my code for reference:
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"
//loading the html string using 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
//loading the html string
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.