React Native创建了一个桥接到WebView的通道,为此它覆盖了window.postMessage的值。他们将原始实现保存在window.originalPostMessage下。因此,您可以依靠存在window.originalPostMessage来检测您是否在React Native中。在Android上执行此操作的代码在这里,在iOS上则在这里。
React Native除了实例化本地WebView并设置与JavaScript的通信通道外,不会做任何其他事情。这意味着,任何解决问题的本地解决方案也同样适用。请参阅以下资源: 检测用户是否在Android / iOS的Webview中使用或普通浏览器 在Android浏览器或WebView内部检测 如何使用javascript检测浏览器是否为android webview?