簡體   English   中英

onNavigationStateChange 在 Android React Native 中不起作用

[英]onNavigationStateChange not working in Android React Native

你好朋友我想在我的反應原生項目中集成深層鏈接和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,我記錄了任何想法如何解決這個問題?

根據您的評論,我了解您希望在您的反應本機應用程序中擁有一個 WebView,並在其中加載帶有一些鏈接的 url,這些鏈接打開自定義 url,這將觸發同一應用程序內的其他操作。

我不知道是否有一種簡單的方法可以從 WebView 內部打開深層鏈接,但您可以嘗試不同的方法。 您可以使用 WebView 的 onMessage 方法和 window.postMessage 將消息從網頁發送到您的應用程序,如本博覽會小吃所示

https://snack.expo.io/HJSTrfA2f

注意 onMessage 方法。 在那里,您可以根據從 Web 視圖中獲得的消息插入應用程序的邏輯

onMessage={event => {
      alert('MESSAGE >>>>' + event.nativeEvent.data);
}}

onLoadProgress:加載 WebView 時調用的函數。

 onLoadProgress={({ e }) => { console.log("URL "e.nativeEvent.url); }}

也許onLoadProgress函數是你應該實現的。 因為它具有與onNavigationStateChange非常相似的參數,例如urlcanGoBacktitle等。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM