使用iOS在Phonegap中打开外部链接

时间:2012-07-04 16:47:30

标签: iphone ios cordova

我正在尝试使用锚标记链接到外部链接,如下所示: Google

为了做到这一点,我在appDelegate.m中添加了这段代码(代码来自这里:https://gist.github.com/2012253):

- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSURL *url = [request URL];

    // Intercept the external http requests and forward to Safari.app
    // Otherwise forward to the PhoneGap WebView
    if ([[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"]) {
        [[UIApplication sharedApplication] openURL:url];
        return NO;
    }
    else {
        return [ super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType ];
    }
}

但我仍然无法链接到谷歌......我做错了什么?需要一些帮助。

2 个答案:

答案 0 :(得分:1)

确保正确设置Cordova.plist文件中的ExternalHosts属性。 ExternalHosts是您要列入白名单的主机阵列,以便可以从您的应用程序访问它。

对于谷歌(http和https)

google.com

http://docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide

例如,检查我的演示应用程序here

答案 1 :(得分:0)

我在cordova 1.7.0 cordova 1.9.0和cordova 2.1.0的MainViewController.m中使用了那段代码,它运行得很好。您只需将该代码移动到正确的文件即可。