2

私には状況があり、グーグルで多くの時間を過ごしましたが成功しませんでした。

アプリ(IOS)で開きたい、そのような外部リンク

"<a href="http://google.com" target="_blank">External Link</a>"Webビューではなくサファリで開きます。「Cordova.plist」で設定した場所

OpenAllWhitelistURLsInWebView : true

アプリ内にIframeもあるので、ユーザーをWebビューに表示したままにし、アプリを離れないようにします。

なぜtarget="_ blank"が機能しないのかわかりませんが、ここでは:

https://build.phonegap.com/blog/access-tagsそれは言う:

iOSでは、ドメインがホワイトリストに登録されている場合、リンクのターゲットが_blankである場合を除き、リンクはWebビュー全体を引き継ぎます。この場合、リンクはブラウザで開きます。そうでない場合は、デバイスにエラーが記録されます。ユーザーの観点からは何もしていません。

JSのやり方も使ってみましたが、

window.open('http://www.google.com', '_blank');

成功せず:(

PS:外部ホストのすべてのリンクを設定しています

助けていただければ幸いです。

ありがとう!

4

2 に答える 2

4

必要なのは、 MainViewController.m のこのチャーマーです

- (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 ];
}
}
于 2012-11-05T06:33:42.653 に答える
0

次のセットアップを使用して動作します。

Cordova.plist:

OpenAllWhitelistURLsInWebView: false

external Hosts: google.com

コード内のリンク:

< a target='_blank' href='http://maps.google.com/maps?q=something'>

それがあなたにとってもうまくいくことを願っています:)

于 2012-09-13T09:22:30.853 に答える