tutorial docs android cordova webview phonegap-plugins phonegap-build

android - docs - phonegap tutorial



URL abierta en webview-phonegap (5)

Es posible que deba agregar lo siguiente a su archivo xg de phonegap:

<?xml version="1.0" encoding="UTF-8"?> <phonegap> <access origin="https://abcx.com" subdomains="true" /> </phonegap>

Me gustaría saber cómo puedo abrir una url en el contexto de la aplicación de la vista web incrustada. Actualmente, esta demostración abrirá una nueva pestaña en el navegador externo, por lo que no es lo que se esperaba. Estoy usando google.com solo para probar.

Resumen, estoy buscando una demostración funcional.

<?xml version="1.0" encoding="UTF-8"?> <!-- config.xml reference: https://build.phonegap.com/docs/config-xml --> <widget xmlns = "http://www.w3.org/ns/widgets" xmlns:gap = "http://phonegap.com/ns/1.0" xmlns:android = "http://schemas.android.com/apk/res/android" id = "com.xxx.xxxxx" version = "1.0.0"> <preference name="stay-in-webview" value="true" /> <access origin="*" browserOnly="true" subdomains="true" /> <content src="index.html" /> <allow-navigation href="https://google.com/*" /> <gap:plugin name="cordova-plugin-whitelist" source="npm" version="~1" /> <gap:plugin name="org.apache.cordova.inappbrowser" /> <gap:plugin name="org.apache.cordova.splashscreen" /> <preference name="phonegap-version" value="cli-5.4.1" /> <preference name="permissions" value="none"/> <preference name="target-device" value="universal"/> <preference name="fullscreen" value="true"/> </widget>

<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="css/index.css" /> </head> <body> <div> <script type="text/javascript" charset="utf-8"> document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { window.location.href = ''https://google.com''; } </script> </div> <script type="text/javascript" src="cordova.js"></script> </body> </html>

Actualización: archivo xml completo: https://codeshare.io/Vw3Fl


Debe agregar esta línea en config.xml para permitir la navegación a URL externas

<allow-navigation href="*" />

Esto permitirá la navegación a cualquier url externa, si solo desea permitir la navegación a google, luego agregue esta línea

<allow-navigation href="https://google.com" />

Puede consultar el resto de la documentación en la página del complemento

https://github.com/apache/cordova-plugin-whitelist


Una manera muy simple de abrir la página en el navegador del sistema en una aplicación de fajo telefónico es mostrar esa página en un iframe.

<iframe src="http://www.google.com></iframe>

Puede cambiar la URL en el iframe usando la actualización dom.

Esto se cargará en la página en el navegador del sistema nativo.


tratar :

window.open(''https://google.com'', ''_self '', ''location=yes'');

en lugar de :

window.location.href = ''https://google.com'';

Esto usará InAppBrowser, y usar _self como objetivo.


Para aquellos que tienen este problema al usar Phonegap 6.3.1, debe incluir en la lista blanca las URL y usar el complemento cordova-plugin-inapbrowser .

Siga leyendo para saber cómo hacer esto.

En primer lugar, asegúrese de haber incluido en la lista blanca las URL que desea abrir. Para ello, agréguelos a los hrefs de <access> etiquetas <access> , <allow-intent> y allow-navigation en su archivo config.xml en la raíz del proyecto. Algo parecido a esto:

<?xml version=''1.0'' encoding=''utf-8''?> <widget id="com.phonegap.helloworld" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"> ... <access origin="*" /> <allow-intent href="*" /> <allow-navigation href="*" /> ... </widget>

(Nota: el "*" en los hrefs anteriores permite la apertura de cualquier url / ruta. En producción, es probable que desee restringir a ciertas URL / rutas)

A continuación, en su archivo index.html, agregue el siguiente javascript:

<script type="text/javascript"> document.addEventListener(''deviceready'', function() { var url = ''https://www.google.com'' // change to whatever you want cordova.InAppBrowser.open(url, ''_self'', ''location=no''); }, false) </script>

Esta secuencia de comandos utiliza el complemento cordova-plugin-inappbrowser, que, si generó su aplicación con la plantilla Phonegap estándar, ya debería estar incluida en su archivo config.xml.

La secuencia de comandos espera a que el dispositivo esté listo, luego utiliza el complemento cordova-plugin-inappbrowser para abrir la url determinada. El parámetro ''_self'' significa que abre la página en la vista web Phonegap y ''location=no'' significa que no habrá una barra de direcciones. Para otras opciones de parámetros, consulte la documentación del plugin cordova-plugin-inappbrowser (enlace arriba).

Finalmente, para probar la aplicación en los emuladores apropiados (suponiendo que tiene instalada la CLI de Phonegap ), ejecute los siguientes comandos:

phonegap run ios --verbose --stack-trace phonegap run android --verbose --stack-trace