目前,OnShouldStartLoadWithRequest仅在iOS上受支持。 A PR to add support for this on Android已关闭。如果Android上的WebView尝试打开自定义URL方案the app will crash - 这也会导致我的应用崩溃。防止WebView在Android中加载URL(React Native)
我正在处理的应用程序需要拦截试图打开自定义URL方案的WebView并在打开该URL之前取消它(在iOS上,返回false
在OnShouldStartLoadWithRequest
上是一种很好的方法)。
在Android上这样做的最好方法是什么?
我想这个代码工作:
<WebView
ref={WEBVIEW_REF}
source={{uri: INITIAL_URI}}
onShouldStartLoadWithRequest={this.onShouldStartLoadWithRequest}
style={{width, height: height - navBarHeight, backgroundColor: "#fff"}}
/>
onShouldStartLoadWithRequest(navigator) {
if (navigator.url.indexOf(INTERCEPT_URL) === -1) {
return true;
}
return false;
}
我与几乎任何工作亲自好吗 - 包括手动修改ReactWebViewManager.java
。我只需要把它弄出门。
调用'stopLoading()'后,我的WebView不再处理触摸事件。如果用户点击链接并在浏览器中打开链接,他们可能会打开我的应用程序,该应用程序仍然显示WebView。如果他们尝试点击该WebView中的其他链接,它将不会执行任何操作。你有没有遇到过这个? – ckeeney