Chcę otworzyć stronę zewnętrzną w InAppBrowser lub opiekunce, gdzie nie pokazuję żadnego paska narzędzi i gdzie mogę mieć przycisk na mojej stronie zewnętrznej, który zamyka przeglądarkę i wraca do aplikacji, od której otworzyłem przeglądarka. Jak zamknąć, gdy nie masz przycisku DONE? Widziałem, że jeśli mam var ref = window.open (encodeURI (url), "_self", "location = yes"); następnie można zamknąć przeglądarkę za pomocą ref.close(); ale jeśli użyję tego na zewnętrznej stronie, którą otworzyłem, to nie działa, to nie zamyka przeglądarki?Budowanie Phonegap - Otwórz zewnętrzną stronę InAppBrowser lub childbrowser bez paska narzędzi i zamknij ją?
Czy istnieje sposób na autorotację któregokolwiek z nich, jeśli ustawiłem orientację pionową w pliku konfiguracyjnym? Wiem, że autorotate można włączyć przeglądarkę podrzędną, jeśli robisz to ręcznie, nie poprzez usługę kompilacji. Czy muszę ustawić orientację na oba?
Testowałem różne sposoby otwierania programu ChildBrowser i InAppBrowser i nie widzę żadnej dużej różnicy między nimi? Czy program InAppBrowser może używać funkcji natywnej, której nie może włączyć program ChildBrowser?
Odpowiedz
OK, problem 1 do zamknięcia został rozwiązany. To jest to, czego używam do otwierania strony zewnętrznej w InAppBrowser. Ze strony, którą ładuję w InAppBrowser, mogę zamknąć samą aplikację InAppBrowser, powracając do mojej aplikacji, z której otworzyłem przeglądarkę.
Tworzenie strony na serwerze - closeInAppBrowser.html to tylko pusta strona html, to doesnt zrobić nic
I otworzyć przeglądarkę z tym:
<a href="#" onclick="openInAppBrowserBlank('http://www.mypage.asp?userId=1');">open InAppBrowser</a>
var ref = null;
function openInAppBrowserBlank(url)
{
try {
ref = window.open(encodeURI(url),'_blank','location=no'); //encode is needed if you want to send a variable with your link if not you can use ref = window.open(url,'_blank','location=no');
ref.addEventListener('loadstop', LoadStop);
ref.addEventListener('exit', Close);
}
catch (err)
{
alert(err);
}
}
function LoadStop(event) {
if(event.url == "http://www.mypage.com/closeInAppBrowser.html"){
// alert("fun load stop runs");
ref.close();
}
}
function Close(event) {
ref.removeEventListener('loadstop', LoadStop);
ref.removeEventListener('exit', Close);
}
i zamknąć InAppBrowser ze strony, którą otworzyłem w przeglądarce (http://www.mypage.asp) Mam przycisk podobny do tego.
<a href="http://www.mypage.com/closeInAppBrowser.html"></a>
Mam nadzieję, że pomoże to komuś innemu!
Oto prostsze rozwiązanie, które może pomóc komuś.
// open win and turn off location
var ref = window.open('http://myloginapp.com', '_blank', 'location=no');
// attach listener to loadstart
ref.addEventListener('loadstart', function(event) {
var urlSuccessPage = "http://myloginapp/success/";
if (event.url == urlSuccessPage) {
ref.close();
}
});
Dzięki człowieku. Uratowałeś mi 2 dni pracy !!! – Oluwafemi
Wielkie dzięki. Może dobrze byłoby dodać komentarz, że przycisk zamykania w przeglądarce inapp powinien być znacznikiem zakotwiczenia z href = "http: // myloginapp/success /". Ale działał jak urok –
Oto odpowiedź na # 2, wydaje się być "Nie". http://community.phonegap.com/nitobi/topics/open_external_page_in_inappbrowser_or_childbrowser_with_no_toolbar_and_close_it –
Spowoduje to zamknięcie przeglądarki, ale spowoduje również, że przycisk powrotu sprzętu na Androidzie spowoduje to samo. Czy istnieje sposób na zachowanie domyślnej funkcjonalności przycisku Wstecz? – user1452893