嗨,我正在使用react native的webview显示网站网址。 我希望当用户单击网站内的链接(不属于我的域的行)时,它将使用该链接打开用户的浏览器。
如果我拥有这个域example.com,并且当我单击按钮example.com/about-us时它变为类似的样子(没关系)
但是,如果我有这个域example.com,并且当我单击按钮anotherdomain.com时它变为类似域名(应该在用户浏览器中打开,而不是在Webview应用中打开)。
我已经看过这个主题,但是没有满足我的需求。我正在Webview应用程序中使用Expo。 https://stackoverflow.com/a/40382325/9776729
这是我现在的代码
这是现场演示https://snack.expo.io/@maher-aldous/webview
const appurl = 'https://github.com/facebook/react-native';
function UrlApp() {
return (
<WebView
ref={(ref) => { this.webview = ref; }}
source={{uri: appurl}}
onNavigationStateChange={(event) => {
if (event.url !== appurl) {
this.webview.stopLoading();
Linking.openURL(event.url);
}
}}
startInLoadingState
scalesPageToFit
javaScriptEnabled
style={{marginTop: Constants.statusBarHeight}}
/>
);
}
没有错误
答案 0 :(得分:0)
您可以注入JavaScript,以防止链接打开,而可以使用window.ReactNativeWebView.postMessage
而不是使用Linking.openURL
将链接发送回RN。