2011-12-21 14 views
15

Chcę, aby móc prowadzić do strony internetowej wewnątrz WebView PhoneGap który ładuje zewnętrzną stronę wewnątrz samego PhoneGap WebView. Jeśli mogę to zrobić, to ładuje wewnątrz WebView:Jak mogę załadować stronę internetową w widoku webowym phonegap?

public class App extends DroidGap { 
    @Override 
    public void onCreate (Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     super.loadUrl("http://google.com"); 
    } 
} 

Jednakże chcę mieć wewnętrznej strony uruchomiła pierwsze, wraz z linkiem do strony zewnętrznej, więc mogę to zrobić:

public class App extends DroidGap { 
    @Override 
    public void onCreate (Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     super.loadUrl("file:///android_asset/www/index.html"); 
    } 
} 

i mam link:

<a href="#" onclick="navigator.app.loadUrl('http://google.com')">Google</a> 

ale ten link uruchamia google poza aplikacji, w przeglądarce internetowej, zamiast w WebView PhoneGap. Co mogę zrobić, aby upewnić się, że link do strony zewnętrznej jest uruchamiany w widoku aplikacji phonegap?

+0

Gdzie mogę dodać to? – MaxRocket

Odpowiedz

18

Ahhh .. Okazało się, że odpowiedź na this question. musiałem dodać

<access origin="www.google.com"/> 

do pliku phonegap.xml.

3

W najnowszym phonegab (1.7) w Cordova.plist jest Klucz: OpenAllWhitelistURLsInWebView ustawić na TAK.

+1

.. niepożądane, jest to oczywiście tylko dla iOS. – tapmonkey

9

To wydaje się zmieniły, a pochodzenie dostęp wydaje się mieć żadnego efektu. Jeśli używasz wtyczki cordova whitelist, co wydaje się być standardem. Musisz użyć opcji allow-navigation w swoim pliku config.xml. Bez tego otworzy twoją przeglądarkę.

<plugin name="cordova-plugin-whitelist" version="1"/> 
<allow-navigation href="https://google.com/*" /> 

Następnie można użyć window.location = 'https://google.com', aby przejść do innej strony internetowej w swoim JS.

+0

To powinna być poprawna odpowiedź. Uratował mi wiele żalu. Pozostałe odpowiedzi są nieaktualne w wersji 4. Właśnie dodałem

+0

Nie sądzę, że tag jest konieczny. Tylko . – SBerg413

+0

Próbowałem i wydawało mi się, że nie działa dla mnie z CLI 5.1.1. Na Androida zawsze otwarty w nowej karcie :(nawet z '' a plugin zainstalowany –

Powiązane problemy