从 webview 链接 Swift 启动 waze

Posted

技术标签:

【中文标题】从 webview 链接 Swift 启动 waze【英文标题】:Swift launch waze from webview link 【发布时间】:2017-07-07 15:08:06 【问题描述】:

我有一个连接到 url 的 webview,在这个 url 上有一个链接,点击该链接时,应该打开带有地址的 waze。在 safari 上它工作正常,但是当我尝试通过我的 webview 打开它时,它似乎不起作用。有什么办法吗?

【问题讨论】:

【参考方案1】:

要在外部打开链接,您需要为 web 视图设置 UIWebViewDelegate

然后,实现:

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool

从那里,您可以从URLRequest 中获取URL 并在外部打开链接。

然后,您可以使用网络视图中的URL 在您的UIApplication 上调用func open(_ url: URL, options: [String : Any] = [:], completionHandler completion: ((Bool) -> Void)? = nil)

【讨论】:

您好,首先感谢您的回复,但我不太明白。如果我尝试从 webview 打开链接,这是如何组合在一起的?也许我应该添加一张图片? UIWebView 不会打开外部链接,例如您正在尝试执行的操作。您需要实现该方法来拦截导航操作并获取 URL 并自行打开。

以上是关于从 webview 链接 Swift 启动 waze的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 在 WebView 中禁用链接

Swift 如何在 Webview 中打开链接?

XCODE swift - webview 无法打开 ics 链接 - 在 safari 中有效

在 webview 中单击链接时如何启动活动?

swift禁用webView对H5中数字,链接,日期,地址,电话号码做解析

如何从 Web 视图打开 Safari 视图控制器(swift)