React native webview onNavigationStateChange返回上一页的url

React native webview onNavigationStateChange返回上一页的url,react-native,React Native,在react native webview中,当我导航到某个页面时,onNavigationStateChange返回上一页面的url?我认为这是一个问题,并将其发布到github react native issues <WebView ref={r => this.webview = r} style = {{marginTop : 0}} onNavigationStateChange= {this._onNavigationStateChange

在react native webview中,当我导航到某个页面时,
onNavigationStateChange
返回上一页面的
url
?我认为这是一个问题,并将其发布到github react native issues

  <WebView
   ref={r => this.webview = r}
   style = {{marginTop : 0}}
   onNavigationStateChange= 
   {this._onNavigationStateChange.bind(this)}
         startInLoadingState = {true}
         source = {{uri: 'https://www.youtube.com' }}
    />
    
   _onNavigationStateChange(webViewState)
     {
       this.setState(
            {
               youtube_video_url: webViewState.url
            }) 
         }
this.webview=r}
style={{marginTop:0}}
onNavigationStateChange=
{this._onNavigationStateChange.bind(this)}
startInLoadingState={true}
source={{uri:'https://www.youtube.com' }}
/>
_onNavigationStateChange(webViewState)
{
这是我的国家(
{
youtube_视频_url:webViewState.url
}) 
}

当我打印此
youtube\u video\u url
时,它是上一页或上一次浏览的视频。

遗憾的是,在单页应用程序网站或未触发window.load事件的网站中,所有的webview方法,如onNavigationStateChange、onLoad、onLoadStart等,都无法按预期工作

Normaly onNavigationStateChange在请求开始时使用{loading:true,url:“someUrl”,…}触发,在加载url之后使用{loading:false,url:“someUrl”,…}触发

据我所知,没有一个全局解决方案可以正确地适用于所有网站以及iOs/Android,但这可能对您的情况有所帮助:


基本上,在webview中插入一个定制javascript,通知作为加载页面的webview。如果要捕获自定义window.history操作事件,可以对其进行增强。

遗憾的是,在单页应用程序网站或未触发window.load事件的网站中,所有的webview方法(如onNavigationStateChange、onLoad、onLoadStart等)都无法按预期工作

Normaly onNavigationStateChange在请求开始时使用{loading:true,url:“someUrl”,…}触发,在加载url之后使用{loading:false,url:“someUrl”,…}触发

据我所知,没有一个全局解决方案可以正确地适用于所有网站以及iOs/Android,但这可能对您的情况有所帮助:


基本上,在webview中插入一个定制javascript,通知作为加载页面的webview。如果要捕获自定义窗口历史操作事件,可以对其进行增强。

欢迎使用堆栈溢出!您的代码似乎有问题。然而,我们不能帮助,除非我们有。否则,我们只是盲目猜测。我已通过添加所需代码对问题进行了编辑。欢迎使用堆栈溢出!您的代码似乎有问题。然而,我们不能帮助,除非我们有。否则,我们只是盲目猜测。我通过添加所需代码对问题进行了编辑。