【问题标题】:Detecting custom url schemes from user typed in web address从用户输入的网址中检测自定义 url 方案
【发布时间】:2012-04-22 04:31:53
【问题描述】:

我正在尝试使用 UIWebView 构建简单的 Web 浏览器的教程。 如果用户只是在没有任何方案的情况下键入地址,则其中有将方案“http://”前缀到 url 的功能。例如:用户输入 google.com 而不是 http://google.com 这是使用 NSURL 的 scheme 属性来实现的。 在地址简单之前一切都很好。

如果地址是这样的:“test1.samplewebsite.com:81” NSURL 方案将字符串“test1.samplewebsite.com”检测为方案而不是无方案。

这在 safari 上运行良好,它没有检测到任何方案并立即为 http 添加前缀。

在开始编写代码检测方案之前,我想检查一下,是否有任何系统 API 用于检测有效方案?

【问题讨论】:

    标签: ios uiwebview nsstring nsurl nsstringencoding


    【解决方案1】:

    不幸的是,在您的示例中,test1.samplewebsite.com 将是符合规范的方案(或任何 wikipedia said,因为我不是规范读者)。

    但是您可以使用-[UIApplication canOpenURL:(NSURL *)] 来确定设备是否可以打开给定的方案,自定义或其他方式。这是link to UIApplication docs(我希望我可以直接链接到该方法)。

    【讨论】:

      猜你喜欢
      • 2014-08-25
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 2023-03-06
      • 2015-10-30
      • 2014-04-02
      • 2012-06-15
      相关资源
      最近更新 更多