Rufen Sie swift-Funktion von java Skript, liefert einen Wert mit wk webview

Möchte ich nennen, eine swift-Funktion von java-script-code gibt die device id zurück an das Skript, ich hatte den code Hinzugefügt, dass die Nutzung derzeit. Bitte beraten, wie Sie den Rückgabewert zurück an den java script aus dem swift-Funktion, Dank im Voraus

Code-Snippet :

     super.viewDidLoad()
    {
    self.webView = WKWebView()
    let preferences = WKPreferences()
    preferences.javaScriptEnabled = true
    let configuration = WKWebViewConfiguration()
    configuration.preferences = preferences
    configuration.userContentController = contentController
    configuration.userContentController.addScriptMessageHandler(self,name: "interOp")
    self.webView = WKWebView(frame: self.view.frame, configuration: configuration)
    print(self.view.frame)
    self.view = self.webView
    webView!.navigationDelegate = self
    let url = NSURL(string:"http://softence.com/devTest/vb_ios.html")
    let req = NSURLRequest(URL:url!)
    self.webView!.loadRequest(req)

    }

//did receivescript message is working fine
func userContentController(userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage)
{
    let sentData = message.body as! NSDictionary
    print(sentData)
    if sentData["name"] as! String == "DeviceInfo"
    {
        self.DeviceInfo()
    }
}
//i want to return the following device info to javascript
func DeviceInfo() -> String
{
let dict = NSMutableDictionary()
    dict.setValue(UIDevice.currentDevice().model, forKey: "model")
    dict.setValue(UIDevice.currentDevice().name, forKey: "name")
    dict.setValue(UIDevice.currentDevice().systemVersion, forKey: "system_version")
    return String(dict)
}
  • FYI JavaScript ist ein Wort... 😉
  • Sie können dieser beantworten, falls Sie bekam es in synchroner Art und Weise.
InformationsquelleAutor Mohanraj | 2016-09-22
Schreibe einen Kommentar