Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 停止在react native中加载Webview_Javascript_Android_Reactjs_React Native_Webview - Fatal编程技术网

Javascript 停止在react native中加载Webview

Javascript 停止在react native中加载Webview,javascript,android,reactjs,react-native,webview,Javascript,Android,Reactjs,React Native,Webview,我已经在Android平台上完成了react原生项目。 我有一个从url加载的Webview。当用户单击任何url时,我希望导航到我的应用程序中的屏幕,webview将停止加载。所以在我的onNavigationStateChange()函数中 它起作用了。因此,当我返回并单击其他url时,我不能触摸webview中的任何url。 如果有人遇到同样的问题,请帮助我。提前感谢。您可以验证要输入的url,当单击“后退导航器”时,您只需输入链接即可进行验证 source = {{uri:this.pr

我已经在Android平台上完成了react原生项目。 我有一个从url加载的Webview。当用户单击任何url时,我希望导航到我的应用程序中的屏幕,webview将停止加载。所以在我的onNavigationStateChange()函数中

它起作用了。因此,当我返回并单击其他url时,我不能触摸webview中的任何url。
如果有人遇到同样的问题,请帮助我。提前感谢。

您可以验证要输入的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();
       }
    }}

使用
react native webview
包的
onShouldStartLoadWithRequest
prop

onShouldStartLoadWithRequest={event=>{if(event.url==“XXXX”)返回false;返回true;}}


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

您不需要停止加载webview,它将在加载完您所在的网页后停止加载。此外,onNavigationStateChange不是停止WebView、记录navState的最佳位置,在页面完全加载之前,您会看到它被多次调用。您不希望在页面上的大多数项目都已完全加载之前停止加载页面。如果您试图停止页面上正在运行的脚本,那么应该考虑将JavaScript注入WebView以阻止脚本继续。
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();
       }
    }}