Detect if page is loaded inside WKWebView in JavaScript

后端 未结 5 1242
闹比i
闹比i 2020-12-02 19:10

How can I reliably detect using javascript that a page is loaded inside a WKWebView? I\'d like to be able to detect these scenarios:

  • iOS & WKWebView
  • <
5条回答
  •  时光说笑
    2020-12-02 19:56

    In iOS, you could add this code to establish communication between javascript and objective-c:

    WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
    WKUserContentController *controller = [[WKUserContentController alloc] init];
    [controller addScriptMessageHandler:self name:@"javascript_observer"];
    configuration.userContentController = controller;
    

    ...

    webview = [[WKWebView alloc] initWithFrame:... configuration: configuration];
    

    In javascript, you could test the connection like this:

    if ( window.webkit != undefined ){
    //javascript is running in webview
    }
    

提交回复
热议问题