如何从WebView中的链接打开MobileSafari?

  • 回答 (4)
  • 关注 (0)
  • 查看 (53)

是否有将MobileSafari打开到特定URL的URI方案?

例如,

<a href="safari://open_url/?url=google.com">Open Google in Safari</a>
隨心之所願隨心之所願提问于
美空鸡多西电回答于
已采纳

在iOS 6.0.2中,仍然没有针对MobileSafari的URL方案(见下文)。然而,Federico Viticci发布了一个有趣的黑客这将使你可以从Chrome为iOS调用Safari。它的功能不如Chrometo-Safari书签,但它确实表明从ChromeforIOS推出MobileSafari是可能的。

ElTTl3程序员回答于

可以使用webkit javascript bridge。https://github.com/marcuswestin/WebViewJavascriptBridge

这允许将消息从javascript发送到Xcode。我使用它关闭html页面中的Web视图:

self.bridge = [WebViewJavascriptBridge bridgeForWebView:self.webView handler:^(id data, WVJBResponseCallback responseCallback) {
            NSLog(@"Received message from javascript: %@", data);
            if ([data isEqual:@"closewin!"])
                [self dismissModal];
        }];
迷迷学生回答于

类实现UIWebViewDelegate协议。实现方法

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

每当用户单击Web视图中的链接时,都会调用此方法。可以获得用户单击的URL,以检查request参数。然后,可以拦截任何想在移动Safari中打开的链接,而不是在WebView中,然后调用-openURL:在共享应用程序上。

[[UIApplication sharedApplication] openURL:URLFromRequest];
袁弋雯只有你回答于
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com/"]];

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    26 粉丝7 提问5 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问3 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券