停止加载Webview in react native

时间:2018-03-11 10:07:01

标签: javascript android reactjs react-native webview

我已经在Android平台上做出了原生项目的反应。 我从网址加载了Webview。当用户点击任何网址时,我想在我的应用中导航到屏幕,webview将停止加载。所以在我的onNavigationStateChange()函数

  source = {{uri:this.props.htmlUrl}}
    ref='_webView'
    scrollEnabled={true}
    javaScriptEnabled={true}
    domStorageEnabled={true}
    onNavigationStateChange ={(navState)=>{
      //handle navigate another screen
       this.refs._webView.stopLoading();
    }}

有效。所以当我回去,并点击其他网址时,我无法触摸webview中的任何网址。 如果有人遇到同样的问题,请帮助我。提前谢谢。

2 个答案:

答案 0 :(得分:1)

使用onShouldStartLoadWithRequest包的react-native-webview道具。

onShouldStartLoadWithRequest={event => {if(event.url==="XXXX") return false; return true;}}

p.s。从函数返回true继续加载请求,返回false停止加载。

答案 1 :(得分:0)

您可以验证要输入的URL,然后单击返回导航器时,您输入的链接仅具有验证功能。

source = {{uri:this.props.htmlUrl}}
    ref='_webView'
    scrollEnabled={true}
    javaScriptEnabled={true}
    domStorageEnabled={true}
    onNavigationStateChange ={(navState)=>{
       if(navState.url == ""){ // You must validate url to enter or navigate
          this.refs._webView.stopLoading();
       }
    }}