首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从WebView中的链接打开Mobile Safari

从WebView中的链接打开Mobile Safari
EN

Stack Overflow用户
提问于 2012-05-01 04:56:41
回答 3查看 15.6K关注 0票数 26

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

例如,

代码语言:javascript
复制
<a href="safari://open_url/?url=google.com">Open Google in Safari</a>
EN

回答 3

Stack Overflow用户

发布于 2012-05-02 05:39:09

好的,我想我明白你的要求了。

让一个类实现UIWebViewDelegate协议。实现该方法

代码语言:javascript
复制
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

每当用户单击gets视图中的链接时,都会调用此方法。您可以通过检查request参数来获取用户单击的网址。然后,您可以截获想要在mobile Safari中打开的任何链接,而不是在webView中打开,然后在共享应用程序上调用-openURL:,就像我在另一个答案中所说的那样。

代码语言:javascript
复制
[[UIApplication sharedApplication] openURL:URLFromRequest];
票数 3
EN

Stack Overflow用户

发布于 2012-05-01 05:00:10

试试这个:

代码语言:javascript
复制
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com/"]];
票数 2
EN

Stack Overflow用户

发布于 2015-08-16 20:09:57

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

这允许您将消息从javascript发送到xcode。我使用此命令从html页面关闭webview:

代码语言:javascript
复制
self.bridge = [WebViewJavascriptBridge bridgeForWebView:self.webView handler:^(id data, WVJBResponseCallback responseCallback) {
            NSLog(@"Received message from javascript: %@", data);
            if ([data isEqual:@"closewin!"])
                [self dismissModal];
        }];

但是你也可以用它跳转到safari或任何你想要的地方。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10390479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档