Javascript 停止在react native中加载Webview
我已经在Android平台上完成了react原生项目。 我有一个从url加载的Webview。当用户单击任何url时,我希望导航到我的应用程序中的屏幕,webview将停止加载。所以在我的onNavigationStateChange()函数中 它起作用了。因此,当我返回并单击其他url时,我不能触摸webview中的任何url。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
如果有人遇到同样的问题,请帮助我。提前感谢。您可以验证要输入的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();
}
}}