0

I make my WKWebview load a web page like this:

class SafariExtensionViewController: SFSafariExtensionViewController, WKNavigationDelegate {

    static let shared = SafariExtensionViewController()
    var webView: WKWebView!

    override func loadView() {
        let webConfiguration = WKWebViewConfiguration()
        self.preferredContentSize = NSMakeSize(400, 600)
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        webView.navigationDelegate = self
        view = webView
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        let myURL = URL(string: frameUrl)
        let myRequest = URLRequest(url: myURL!)
        webView.load(myRequest)
        os_log("EXTEST the WKWebview has loaded")
    }

}

and in my localhost web service js file, I add a post message event

window.parent.postMessage(message, '*')

Now I try to listen to this event in my swift code, is it posssible?

yuan
  • 1,701
  • 2
  • 13
  • 24

1 Answers1

0

It's possible to react to JavaScript callbacks. Check WKWebViews evaluateJavaScript: method.

https://developer.apple.com/documentation/webkit/wkwebview/1415017-evaluatejavascript

charlyatwork
  • 1,187
  • 8
  • 13