2

你好朋友我想在我的反应原生项目中集成深层链接和Android所以下面是我的代码

 <WebView
source={{ uri: this.state.authURL }}
ref="webViewAndroidSample"
renderError={(error) => alert(error)}
startInLoadingState = {false}
javaScriptEnabled = {true}
domStorageEnabled = {true}
onNavigationStateChange = {this._onShouldStartLoadWithRequest}/> 

_onShouldStartLoadWithRequest(e){
    console.log("URL "+e.url);

}

当我点击我的 webview 中的其他链接时,我没有在 e.url 中获得点击链接 url,我记录了任何想法如何解决这个问题?

4

2 回答 2

2

根据您的评论,我了解您希望在您的 react 本机应用程序中拥有一个 WebView 并在其中加载带有一些打开自定义 url 的链接的 url,这将触发同一应用程序内的其他操作。

我不知道是否有一种简单的方法可以从 WebView 内部打开深层链接,但您可以尝试不同的方法。您可以使用 WebView 的 onMessage 方法和 window.postMessage 将消息从网页发送到您的应用程序,如本博览会小吃所示

https://snack.expo.io/HJSTrfA2f

注意 onMessage 方法。在那里,您可以根据从 Web 视图中获得的消息插入应用程序的逻辑

onMessage={event => {
      alert('MESSAGE >>>>' + event.nativeEvent.data);
}}
于 2018-04-25T14:55:24.293 回答
0

也许该onLoadProgress功能是您应该实现的。因为它具有与 、 、 、 等非常相似的参数onNavigationStateChangeurlcanGoBacktitle

更新react-native-webview到最新版本。

于 2020-10-14T10:02:48.783 回答