朋友们,我想在我的反应本机项目中集成深层链接,所以下面是我的代码
<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);
}
当我点击我的网页浏览中的其他链接时,我没有在e.url中点击链接网址,我记录了我怎么能解决这个问题?
答案 0 :(得分:1)
根据您的评论,我了解您希望在您的react本机应用程序中使用WebView,并在其中加载带有一些打开自定义URL的链接的URL,这将触发同一应用程序内的其他操作。
我不知道是否有一种简单的方法可以从WebView内部打开深层链接,但您可以尝试不同的方法。您可以使用WebView的onMessage方法和window.postMessage将消息从网页发送到您的应用程序,如本展会小吃所示
https://snack.expo.io/HJSTrfA2f
请注意onMessage方法。在那里,您可以根据从Web视图中获得的消息插入应用程序的逻辑
onMessage={event => {
alert('MESSAGE >>>>' + event.nativeEvent.data);
}}
答案 1 :(得分:0)
也许应该实现onLoadProgress
函数。由于它具有onNavigationStateChange
的非常相似的参数,例如url
,canGoBack
,title
等
将react-native-webview
更新为最新版本。