我正在尝试使用锚标记链接到外部链接,如下所示: 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 ];
}
}
但我仍然无法链接到谷歌......我做错了什么?需要一些帮助。
答案 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中使用了那段代码,它运行得很好。您只需将该代码移动到正确的文件即可。