5 Stimmen

Iframe-Umleitung/Öffnen von Mobile Safari im Phonegap-Projekt stoppen

Zurzeit lade ich eine Seite in einen versteckten Iframe innerhalb meines Phonegap-Projekts, um Daten von einer mobilen Version einer Website, die ich in meiner App verwende, abzurufen.

Das Problem ist, dass eine bestimmte Website eine Art von Frame-Buster hat und eine Umleitung sendet, die die App beendet und die Seite in Mobile Safari lädt.

Gibt es eine Möglichkeit, das Nachladen zu stoppen? Mal abgesehen von der Ethik des Schabens :-)

17voto

ThinkingStiff Punkte 63624

Wenn Sie PhoneGap Build verwenden, fügen Sie dies zu Ihrem config.xml Datei:

<preference name="stay-in-webview" value="true" />

Wenn Sie Build nicht verwenden, setzen Sie dies in Ihrem Cordova.plist/Phongap.plist :

OpenAllWhitelistURLsInWebView = 'Yes'

1voto

Adam Ware Punkte 1192

Ich habe eine Antwort in diesem Beitrag gefunden http://craigpfau.com/2012/02/phonegap-ios-uiwebview-and-safari-app-links/

Ersetzen Sie dies in der Datei AppDelegate.m

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

   if ([[url absoluteString] rangeOfString:@"URLToOpenInUIWebView.com"].location != NSNotFound) {
      return YES;
   }
   else {
      return [self.viewController webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType];
   }
}

Alle Links, die Sie nicht in UIwebview öffnen möchten, verwenden Sie target="_blank".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X