2011-12-21 13 views
15

Quiero ser capaz de vincular a una página web dentro de la vista web del teléfono que carga una página web externa dentro de la misma vista web del teléfono. Si hago esto, se carga dentro de la vista web:¿Cómo puedo cargar una página web dentro de la vista web del fajo telefónico?

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

Sin embargo, yo quiero tener una página interna lanzado por primera vez, con un enlace a la página externa, por lo que hacer esto:

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

y tengo un vínculo:

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

pero este enlace lanzamientos de Google fuera de la aplicación, en el navegador web, en lugar de en la vista web PhoneGap. ¿Qué puedo hacer para asegurarme de que el enlace a la página externa se inicia dentro de la vista web del fajo telefónico de la aplicación?

+0

¿Dónde puedo agregar esto? – MaxRocket

Respuesta

18

Ahhh .. Encontré la respuesta en this question. he tenido que añadir

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

al archivo phonegap.xml.

3

En la última phonegab (1.7) en Cordova.plist hay una clave: OpenAllWhitelistURLsInWebView establezca esto en YES.

+1

..sorry, esto es obviamente solo para iOS. – tapmonkey

9

Esto parece haber cambiado, y el origen de acceso parece no tener ningún efecto. Si está utilizando el complemento de la lista blanca de cordova, como parece ser estándar. Necesita usar allow-navigation en su archivo config.xml. Sin esto, abrirá su navegador web.

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

continuación, puede utilizar window.location = 'https://google.com' para moverse a otra página web dentro de su JS.

+0

Esta debería ser la respuesta correcta. Me salvó un montón de dolor. Las otras respuestas están desactualizadas para v4. Acabo de agregar

+0

No creo que la etiqueta sea necesaria. Solo el . – SBerg413

+0

Lo intenté y no pareció funcionar para mí con CLI 5.1.1. En Android siempre se abre en una nueva pestaña :(incluso con '' y el complemento instalado –

Cuestiones relacionadas