2012-02-27 13 views
5

Mam aplikację phonegap działającą na moim telefonie. Mam link, który prowadzi mnie do strony internetowej, aby sprawdzić niektóre informacje i prezentuje niektóre dane ... wtedy chcę mieć przycisk wstecz, aby użytkownik nawigował z powrotem do lokalnej aplikacji. Czy to możliwe zarówno w systemie Android, jak i iOS?Jak nawigować ze strony internetowej na stronę lokalną w mojej aplikacji do gry w telefon?

+0

Masz go dla sklepu lub strony internetowej? – Edig

+0

Potrzebuję go dla mojego appstore – user969275

+0

Podobne, ale nie identyczne pytanie: http://stackoverflow.com/questions/8137909/how-to-get-back-button-working-between-remote-and-local-jquery-mobile- strony (ten jest specyficzny dla JQM) – Leopd

Odpowiedz

0

Jeśli strony internetowe są przechowywane w projekcie w katalogu/assets/można użyć pliku: ///android_asset/index.html.

Oczywiście, że jest to specyficzne dla Androida.

0

co z wyświetlaniem strony zewnętrznej w elemencie iframe. w ten sposób możesz nadal wyświetlać przycisk "Wstecz" z lokalnej aplikacji do gry w telefon.

+0

To jest początek rozwiązania. Więc w jaki sposób strona w elemencie iframe wysyła wiadomość do ramki nadrzędnej, nakazując jej nawigację? – Leopd

+0

Hm. Moją pierwszą ideą było to, że wyświetlasz mały pasek nawigacyjny na górze strony, a pod nim - iFrame ze stroną zewnętrzną. W ten sposób możesz wyświetlić przycisk Backbutton na pasku nawigacyjnym. W ten sam sposób Google wyświetla niektóre informacje na temat wyników wyszukiwania grafiki http://www.google.de/imgres?hl=de&biw=1150&bih=588&gbv=2&tbm=isch&tbnid=HhYIr-Oz_5sLkM:&imgrefurl=http://www.crossmedia- zentrum.de/cms/%3Fp%3D451%3FKeepThis%3Dtrue%26TB_iframe%3Dtrue%26height%3D450%26width%3D550&docid=q0eY140VMgaNgM&imgurl=http://www.crossmedia-zentrum.de/cms/wp-content/gallery/keylearnings /apple.jpg – rdmueller

3

Myślę, że powinieneś użyć wtyczkiz phonegapem, ponieważ w takim przypadku będziesz mieć konsekwentne zachowanie zarówno w systemie Android, jak i iOS, ponieważ iOS nie ma backbutton, aby powrócić do aplikacji.

Childbrowser for Android
Childbrowser for iOS

+0

+1 na childbrowser. UI-mądry to doda pasek narzędzi do góry aplikacji ios, które dają użytkownikowi przycisk POWRÓT, aby wrócić do swojej aplikacji. Na innych platformach, które mają konwencje sprzętowe (tj. Przycisk Wstecz), żaden pasek narzędzi nie zostanie wyświetlony. Ponadto, childbrowser jest planowana, aby stać się częścią "core" funkcji cordova/phonegap po wersji 2.0. –

+0

Pasek narzędzi, który wygląda jak przeglądarka, jest dokładnie tym, czego staram się uniknąć za pomocą Phonegapa. – Leopd

+0

pasek narzędzi ma obsługiwać interfejs użytkownika, tak jak w systemie iOS nie ma żadnego innego sposobu przełączania lub powrotu. Nadal możesz dostosować ui programu Childbrowser podczas kopiowania źródła powiązanego z tym w Twoim projekcie - https://groups.google.com/forum/?fromgroups#!topic/phonegap/jbXi-K7BBno – dhaval

1

Odpowiedź jest "nie ma odwrotu".
można nawigować w lokalnej aplikacji (klasy dowolną ilość razy)
Po wysłaniu przepływ do

 super.loadUrl("file:///android_asset/www/index.html"); 

nie mogą poruszać się z powrotem do każdej lokalnej klasy.

0

Jeżeli masz pełną kontrolę nad zawartością strony zewnętrznej, można wdrożyć system URL w iOS: http://remysharp.com/2010/09/01/custom-url-schemes-in-phonegap/

... i siekać je zdobyć w Androidzie: http://remysharp.com/2010/09/01/custom-url-schemes-in-phonegap/

wówczas strona zewnętrzna może odsyłać do aplikacji za pośrednictwem myappname: // niektóre/parametry URL

Oba powyższe artykuły pochodzą z 2010 roku, co nie jest dobrym początkiem dla Androida (oprogramowanie ciągle się rozwija) ... ale jeśli to nie zadziała, założę się, że istnieje jakiś nowszy artykuł, który działa w sposób f lub pewnie. Wiem, że iOS działa teraz tak, jak jest teraz w użyciu w mojej aplikacji.

1

Zhakowałem niestandardową wersję programu ChildBrowser, aby usunąć wszystkie elementy paska narzędzi, a także przekazać wiadomości między stroną podrzędną a aplikacją nadrzędną. Ten hack, SlaveBrowser, był pierwotnie przeznaczony dla oAuth2 na Androida. Aplikacja nadrzędna wie, kiedy zamknąć zewnętrzną stronę, więc nie było potrzeby brzydkiego paska narzędzi :-). Ktoś, kto ma umiejętności Obj-C, może przenieść to na iOS

0

Użyłem childbrowser i zmodyfikowałem interfejs w XCode, tak że nie mam paska adresu i unikalnego małego przycisku "wróć do aplikacji". Nie musiałem dotykać obiektów obj-c tylko w edytorze interfejsu użytkownika, wybierz to, czego nie chcesz i usuń.

3

Działa to zarówno Androida i iOS:

window.history.go(-(history.length - 1)); 

Ale, jak wspominają inni, znalazłem to nie warto starać się kiedykolwiek opuścić UIWebView. Po powrocie na stronę aplikacji czasami nie działają zgodnie z oczekiwaniami. Zauważyłem, że PhoneGap zostaje rozładowany i wydaje się, że nie można go ponownie załadować.

Powiązane problemy