【发布时间】:2016-08-09 04:17:23
【问题描述】:
在应用程序中,我使用的是 React Native 的 WebView 组件。如果用户明确单击任何链接,我希望它在 Safari 中打开,而不是将 WebView 组件定向到该 URL。
<WebView
source={{uri: 'https://some-url-here'}}
style={{marginTop: 20}}
/>
【问题讨论】:
在应用程序中,我使用的是 React Native 的 WebView 组件。如果用户明确单击任何链接,我希望它在 Safari 中打开,而不是将 WebView 组件定向到该 URL。
<WebView
source={{uri: 'https://some-url-here'}}
style={{marginTop: 20}}
/>
【问题讨论】:
对于 IOS,您可以使用 onShouldStartLoadWithRequest 属性。当 webview 打开新页面时调用该道具。您可以返回 false 停止加载并使用 React native Linking api 在 safari 中打开 url。
您的 onShouldStartLoadWithRequest 可能如下所示:
onShouldStartLoadWithRequest={(navState)=>{
Linking.openURL(navState.url)
return false;
}}
【讨论】: