React Native(Expo)如何为iOS定义URL

时间:2019-03-04 21:28:47

标签: react-native expo

我具有以下应该打开链接的功能

const openBrowser = url => {
 WebBrowser.openBrowserAsync(url)
}

如果该网址为“ https://stackoverflow.com/questions/ask”,则可以正常工作,但是如果用户输入www.google.com,则它会在ios上崩溃,如所示,仅支持http或https网址。

我试图将其更改为此

const openBrowser = url => {
 WebBrowser.openBrowserAsync(`https://${url}`)
}

现在www.google.com可以使用,但是现在https://stackoverflow.com/questions/ask不再可用。

什么是最好的处理所有URL的最佳方法?

1 个答案:

答案 0 :(得分:1)

您应该检查网址是否以http / https开头,以及是否不以http://

开头
function addhttp(url) {
   if (!/^(f|ht)tps?:\/\//i.test(url)) {
      url = "http://" + url;
   }
   return url;
}