3

ばかげたことは誰もが知っているようですが、PhoneGap では、アプリケーションに iFrame を含めることができません。そこには多くの修正がありますが、それらはPhoneGapのレガシーバージョン用であり、機能しないか、他の問題を引き起こします. これが私がこれまでに試したことです:

  1. OpenAllWhitelistURLsInWebView

  2. http://craigpfau.com/2012/02/phonegap-ios-uiwebview-and-safari-app-links/

  3. アプリの UIWebView ではなく、Safari で外部リンクを開くにはどうすればよいですか?

何も機能していないようです。これが私が達成しようとしていることです:

  1. vimeo (iframe) からのビデオの埋め込みはアプリ内に留まり、外部ホスト: vimeo.com a.vimeocdn.com b.vimeocdn.com
  2. 他のすべてのリンクはサファリに行きます

ここに私のアプリの詳細があります:

iOS 5.1.1 | コルドバ 1.7.0 | Jqueryモバイル | Jクエリ1.7.1

4

1 に答える 1

7

アプリ内で Vimeo ビデオを開きますが、他の URL は Safari で開くサンプル アプリケーションをここに用意しました。

MainViewController.m の以下の関数を変更しました

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

    if(host != NULL || host != nil){
        if ([host rangeOfString:@"vimeo.co"].location != NSNotFound) {
            return YES;
        }else{
            if ([[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"]) {
                [[UIApplication sharedApplication] openURL:url];
                return NO;
            }
            else {
                return [ super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType ];
            }
        }
    }

    return [super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType];
}
于 2012-06-14T19:22:41.720 に答える