2012-03-30 8 views
2

Ich habe einen Link auf meiner mobilen App (erstellt mit Sencha Touch 2) mit einem target="_blank" Attribut. Die App ist als native iOS App gepackt. Das Problem ist, dass der Link nicht wie erwartet in Safari geöffnet wird, sondern in der App geöffnet wird. Es ist sehr wichtig, dass der Link in Safari in einem neuen Browserfenster geöffnet wird. Wie kann ich das erreichen?Öffnen Sie den externen Link von Web-App als native iOS-App verpackt

Ich sollte hinzufügen, dass ich den nativen Packer von Sencha (Sencha-Paket) verwende. Das Standardverhalten scheint das neue Fenster in derselben Webansicht zu öffnen. Aber ich brauche sie in mobilen Safari geöffnet werden.

In einem Xcode-Projekt ich folgende tun könnte:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 
    if (navigationType == UIWebViewNavigationTypeLinkClicked) { 
     [[UIApplication sharedApplication] openURL:request.URL]; 
     return NO; 
    } 
    return YES; 
} 

Wie das mit Sencha Touch nativen Verpackung zu tun?

+0

[[UIApplication shared] openURL: [NSURL URLWithString: @ "Ihr Link"]]; – Hiren

+0

Bitte lesen Sie meinen Beitrag, ich spreche über den nativen Packer des Sencha Touch-Frameworks. –

+0

Es gibt definitiv eine Möglichkeit, dies zu tun, wenn Sie nicht den nativen Packer verwenden. –

Antwort

3

Ich habe keine Möglichkeit gefunden, dies mit Sencha native Verpackung zu tun.

Aber die Anwendung in einem Phonagap Wrapping und das Kompilieren der Anwendung in Xcode mit erforderlichen URLs, die dem Array ExternalHost in phonegap.plist hinzugefügt werden, sollte richtig funktionieren?

Auch, (immer noch auf der Phonegap-Lösung) Ich nehme an, AppDelegate.m zu hacken, um Links in Safari zu öffnen würde genauso gut funktionieren.

+0

Ich gebe Ihnen diese Prämie, weil Sie die beste Antwort zur Verfügung gestellt haben. Ich denke auch, dass es jetzt in Sencha Touch keine Möglichkeit gibt, dies zu tun, und ich landete auf einem anderen Problem, um phonegap trotzdem zu verwenden. –

8

Ich benutze dies um Links in Mobile Safari oder ein neues Fenster zu öffnen. Funktioniert mit systemeigenen iOS-Verpackungs- und Webanwendungen:

+0

Vielen Dank für diese Funktion, Ben. –

+0

Das ist hilfreich, aber wie rufen Sie diese Funktion auf? Ich füge HTML mit Links zu einem 'Ext.Panel' hinzu und möchte, dass die Links in Safari geöffnet werden. –

1

Programmatisch (JavaScript) öffnet einen Link in Mobile Safari. Ideal, wenn Sie keine Standard-HTML-Link verwenden können, aber Sie müssen Javascript verwenden:

var a = document.createElement("a"); 
a.setAttribute('href', facebook); 
a.setAttribute('target', '_blank'); 
a.click(); 
Verwandte Themen