<a target="_blank" data-rel="external" href="http://www.kidzout.com">www.kidzout.com</a>
cześć eksperci, używam phonegap 2.9.0 i używam powyższego kodu, aby otworzyć link w przeglądarce, ale otwiera go w tej samej aplikacji ...... jak otworzyć przeglądarkę safari?
otwiera witrynę w tej samej aplikacji, a następnie nie mogę do niej wrócić, więc muszę usunąć aplikację i zainstalować ją ponownie .....
_blank
przeglądarkę zewnętrzną i_self
WebView, sprawdź moje rozwiązanie 2015 dla Cordova 5.1.1: stackoverflow.com/a/32227524/82609Odpowiedzi:
Jak sugerowano w podobnym pytaniu , użyj JavaScript do wywołania
window.open
ztarget
argumentem ustawionym na_system
, zgodnie z dokumentacją InAppBrowser :Powinno to zadziałać, chociaż lepszym i bardziej elastycznym rozwiązaniem byłoby przechwycenie wszystkich
click
zdarzeń linków i wywołaniewindow.open
z argumentami odczytanymi z atrybutów linku.Pamiętaj, że musisz zainstalować wtyczkę InAppBrowser, aby to działało:
źródło
Jak odpowiedział w innych postach, masz dwie różne opcje dla różnych platform. Co robię to:
Jak więc widzisz, sprawdzam platformę urządzenia iw zależności od tego używam innej metody. W przypadku standardowej przeglądarki zostawiam standardowe zachowanie. Od teraz rozwiązanie będzie działało dobrze na Androidzie, iOS iw przeglądarce, a strona HTML nie zostanie zmieniona, więc może mieć adresy URL reprezentowane jako standardowa kotwica
Rozwiązanie wymaga wtyczek InAppBrowser i Device
źródło
$ meteor add cordova:[email protected]
Działa dla mnie z Androidem i PG 3.0
źródło
Istnieją 2 różne sposoby otwierania adresu URL na Androidzie i iPhonie.
DLA IOS użyj następującego kodu.
a dla systemu Android użyj następującego kodu.
źródło
window.open("http://google.com", '_system')
. Nie należy tego używaćnavigator.app.loadUrl
, ponieważ nie będzie działać zmarket://
adresami URL: w takim przypadku po prostu zamknie aplikację i otworzy się w tym samym oknie ... nie zawsze jest preferowane.W końcu ten post pomaga mi na iOS: http://www.excellentwebworld.com/phonegap-open-a-link-in-safari-or-external-browser/ .
Podczas korzystania
navigator.app.loadUrl("http://google.com", {openExternal : true});
z Androida jest OK.Via Cordova 3.3.0.
źródło
Żadna z tych odpowiedzi nie jest na tyle wyraźna, aby otworzyć linki zewnętrzne na każdej platformie. Zgodnie z dokumentacją inAppBrowser :
zainstalować
Nadpisz window.open (opcjonalne, ale zalecane dla uproszczenia)
Jeśli nie nadpiszesz
window.open
, będziesz używaćwindow.open
funkcji natywnej i nie możesz oczekiwać, że uzyskasz takie same wyniki na różnych platformach.Użyj go, aby otworzyć linki w domyślnej przeglądarce
Zauważ, że celem dla inAppBrowser (do czego sugeruje nazwa wtyczki) jest
'_blank'
zamiast'_system'
.Bez powyższych kroków nie udało mi się uzyskać linków do otwarcia w domyślnej aplikacji przeglądarki na różnych platformach.
Dodatkowy kredyt
Oto przykładowa obsługa kliknięć (na żywo) dla linków:
źródło
Jeśli zdarzy ci się mieć jQuery w pobliżu, możesz przechwycić kliknięcie linku w następujący sposób:
W ten sposób nie musisz modyfikować linków w html, co pozwala zaoszczędzić dużo czasu. Skonfigurowałem to za pomocą delegata, dlatego widzisz, że jest on powiązany z obiektem dokumentu, ze znacznikiem „a” jako drugim argumentem. W ten sposób wszystkie tagi „a” będą obsługiwane, niezależnie od tego, kiedy zostaną dodane.
Oczywiście nadal musisz zainstalować wtyczkę InAppBrowser:
źródło
Będzie działać, ale tylko wtedy, gdy masz zainstalowaną wtyczkę inappbrowser. Aby zainstalować, używając terminala, przejdź do folderu www w swoim projekcie i wpisz:
lub
Wtedy twój link otworzy się w przeglądarce.
źródło
phonegap local <command>
została WYCOFANA. Polecenie zostało przekazane użytkownikowiphonegap <command>
. Poleceniephonegap local <command>
zostanie wkrótce usunięte.cordova plugin add cordova-plugin-inappbrowser
.W przypadku wersji 5.0 i nowszych wtyczki InAppBrowser została zmieniona nazwa wtyczki w rejestrze wtyczek Cordova, dlatego należy ją zainstalować za pomocą
Następnie użyj
źródło
Używam PhoneGap Build (v3.4.0), koncentrując się na iOS, i potrzebowałem tego wpisu w moim config.xml, aby PhoneGap rozpoznał wtyczkę InAppBrowser.
Następnie użycie window.open (url, target) powinno działać zgodnie z oczekiwaniami, jak opisano tutaj .
źródło
m also using PhoneGap Build (v3.5.x) and added the plugin via the config.xml. But what i get is an InAppBrowser without controls an cannot call the safari browser. I
tylko window.open (). Jakakolwiek rada?Napotkałem również problem, który nie otwierał się w przeglądarce, tutaj jest moja poprawka z krokami:
1: Zainstaluj tę wtyczkę cordova.
2: dodaj otwarty link w html, jak poniżej.
3: jest to najważniejszy krok, dlatego napotkałem wiele problemów: pobierz
cordova.js
plik i wklej go dowww
folderu. Następnie umieść odniesienie do tego windex.html
pliku.To rozwiązanie sprawdzi się zarówno w środowisku Android jak i iPhone.
źródło
Lubię to :
źródło