Detect if page is loaded inside WKWebView in JavaScript

后端 未结 5 1252
闹比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:57

    You can check for the existence of window.webkit.messageHandlers which WKWebKit uses to receive messages from JavaScript. If it exists, you're inside a WKWebView.

    That combined with a simple user agent check should do the trick:

    var iOS = (navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false);
    var isWKWebView = false;
    if (window.webkit && window.webkit.messageHandlers) {
        isWKWebView = true;
    }
    

提交回复
热议问题