如何从 React Native 的 WebView 组件在 Safari 中打开链接

Posted

技术标签:

【中文标题】如何从 React Native 的 WebView 组件在 Safari 中打开链接【英文标题】:How to open links in Safari from React Native's WebView component 【发布时间】:2016-08-09 04:17:23 【问题描述】:

在应用程序中,我使用的是 React Native 的 WebView 组件。如果用户明确单击任何链接,我希望它在 Safari 中打开,而不是将 WebView 组件定向到该 URL。

 <WebView
    source=uri: 'https://some-url-here'
    style=marginTop: 20
  />

【问题讨论】:

【参考方案1】:

对于 ios,您可以使用 onShouldStartLoadWithRequest 属性。当 webview 打开新页面时调用该道具。您可以返回 false 停止加载并使用 React native Linking api 在 safari 中打开 url。

您的 onShouldStartLoadWithRequest 可能如下所示:

onShouldStartLoadWithRequest=(navState)=>
      Linking.openURL(navState.url)
      return false;
    

【讨论】:

嘿,谢谢,我得出的确切结论。使用链接确实解决了我的问题。谢谢! android 解决方案在这里 - ***.com/a/40382325/1828637 - 链接其他人

以上是关于如何从 React Native 的 WebView 组件在 Safari 中打开链接的主要内容,如果未能解决你的问题,请参考以下文章

如何将参数从 React-Native 发送到 Native

无法从“App.js”解析“@react-navigation/native”-React Native + 如何解决?

如何从 react native 调用 swift native 函数?

react-native:ListView,如何从顶部推送新行

如何从 React ^0.14.8 & React-native ^0.24.1 升级到 React 15.0.2 和 React-native 0.26.3

React-native:如何从 Windows 构建 ios