Phonegap 2.0,科尔多瓦外部链接
我有一种情况,我花了这么多时间在谷歌没有成功。Phonegap 2.0,科尔多瓦外部链接
我想在我的应用程序(IOS),它是那样的
"<a href="http://google.com" target="_blank">External Link</a>"
在Safari不是web视图中打开外部链接打开。在那里我已经在“Cordova.plist”
OpenAllWhitelistURLsInWebView : true
建立,因为我甲肝以及一些I帧我的应用程序,在这里我想保留用户的Web视图,而不是离开应用程序内。
的我不知道为什么目标=“_空白”不工作,在这里:
https://build.phonegap.com/blog/access-tags它说:
“在iOS ,如果一个域名被列入白名单,链接会接管整个webview,除非链接的目标是_blank,在这种情况下,它将在浏览器中打开,如果不是,它会在设备上记录一个错误,而从用户的角度来看什么都不做。 “
我试图使用JS方式作为好了,
window.open('http://www.google.com', '_blank');
没有成功:(
PS:我有我的外部主机的各个环节建立
我感谢所有帮助。
谢谢!
它与我使用以下设置:
Cordova.plist:
OpenAllWhitelistURLsInWebView: false
external Hosts: google.com
Link在代码:
< a target='_blank' href='http://maps.google.com/maps?q=something'>
希望它为你工作,以及:)
在MainViewController.m中你需要的是这个charmer
- (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 ];
}
}
感谢:D我在找几个小时找到你的答案:) – hgwd92 2012-12-18 13:19:11
非常感谢!你救了我的一天.. :) – 2013-01-30 20:14:46
如果你改变'OpenAllWhitelistURLsInWebView'为假,因为它听起来好像是发生什么事是你的目标......那么只有目标参数适用于那些想要在Safari – 2012-08-16 18:27:39
所有在Safari中打开,即使是iframe来加载我想保留在APP – AlexC 2012-08-16 18:37:04
是否被Google白名单列入?您可以将Google从白名单中排除,这应该强制它在浏览器中而不是应用中打开,同时保留iFrames的内部和白名单。 – ellemayo 2012-10-09 18:53:08