确定是否在React Native WebView中运行

时间:2017-06-30 09:26:23

标签: react-native webview

我目前正在使用显示远程URI的WebView组件开发RN应用程序,并且在通过此URI加载的JS中,我希望能够确定我是否在RN WebView内部或不。

有人已经遇到过这个问题吗? 有人能帮助我吗?

非常感谢!

3 个答案:

答案 0 :(得分:1)

除了实例化本机WebView并设置与JavaScript的通信通道之外,React Native不会执行任何其他操作。这意味着,该问题的任何本机解决方案也适用。请参阅以下资源:

答案 1 :(得分:1)

您也可以这样做

injectedJavaScript="window.isRNWebView=true"

答案 2 :(得分:0)

React Native为WebView创建了一个桥梁,为此,它会覆盖window.postMessage的值。

他们将原始实施保存在window.originalPostMessage

因此,你可以依靠window.originalPostMessage的存在来检测你是否在React Native中。

执行此操作的Android代码为here,而在iOS上为here