iphone - 如何从 Web 浏览器控件中托管的 HTML 在 Safari 中打开链接?

标签 iphone ios4 xamarin.ios

我们有一个 iPhone 应用程序,它托管一个 Web 浏览器控件,该控件指向一个网站,其唯一目的是显示应用程序的信息。我想知道是否可以使用 HTML/JavaScript 使用 anchor /按钮打开 Safari。如果可以的话,怎么可能呢?

谢谢...

最佳答案

您可以为您正在使用的 UIWebview 设置委托(delegate)。在此委托(delegate)中,编写如下内容:

-(bool) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    //You might need to set up an "interceptLinks"-Bool since you don't want to intercept the initial loading of the content
    if (self.interceptLinks) {
        NSURL *url = request.URL;
        //This launches Safari with your URL
        [[UIApplication sharedApplication] openURL:url];   
        return NO;
    }
    //No need to intercept the initial request to fill the WebView
    else {
        self.interceptLinks = TRUE;
        return YES;
    }
}

如果您只想拦截一些链接,您可以解析 url,并仅在必要时打开 Safari。

关于iphone - 如何从 Web 浏览器控件中托管的 HTML 在 Safari 中打开链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5640470/

相关文章:

javascript - 使用 Javascript 中的 SauceLabs 在 iPhone 上进行 Selenium 测试

iphone - 手动构建 View 时如何处理 UIViewController 中的 View 初始化顺序?

iPhone 崩溃日志不包含方法或行号

java - aes 加密 - 内容大小不是 16 字节的倍数

ios - 有没有办法在最新的 XCode 上为 iOS 4.3 到 iOS 6 开发和测试 iOS 应用程序?

c# - Xamarin 相当于 stringWithContentsOfFile :usedEncoding:error:

css - @font-face 嵌入 iOS 3.0 - 4.1

iphone - ASIHTTPRequestErrorDomain Code=4 "请求被取消

c# - 来自 url 的 xamarin.ios mp3 流在结束前停止

Xamarin Forms ListView 滚动 UI 问题