InAppBrowser
El
InAppBrowseres una vista de navegador web que se muestra cuando se llama a[window.open](window.open.html)(), o cuando abre un enlace formado como<a target = "_blank" >.
var ref = window.open('http://apache.org', '_blank', 'location=yes');
NOTA: La ventana de InAppBrowser se comporta como un navegador web estándar y no puede acceder a Cordova APIs.
Descripción
El objeto devuelto desde una llamada a [window.open](window.open.html).
Métodos
- addEventListener
 - removeEventListener
 - close
 - show
 - executeScript
 - insertCSS
 
Acceso a la función
A partir de la versión 3.0, Cordova implementa nivel de dispositivo APIs como plugins. Uso de la CLI plugin comando, que se describe en la interfaz de línea de comandos, para añadir o eliminar esta característica para un proyecto:
    $ cordova plugin add org.apache.cordova.inappbrowser
    $ cordova plugin ls
    [ 'org.apache.cordova.inappbrowser' ]
    $ cordova plugin rm org.apache.cordova.inappbrowser
Estos comandos se aplican a todas las plataformas específicas, sino modificar las opciones de configuración específicas de la plataforma que se describen a continuación:
Android (en
app/res/xml/config.xml)<feature name="InAppBrowser"> <param name="android-package" value="org.apache.cordova.InAppBrowser" /> </feature>(en iOS
config.xml)<feature name="InAppBrowser"> <param name="ios-package" value="CDVInAppBrowser" /> </feature>Windows Phone 7 y 8 (en
config.xml)<feature name="InAppBrowser" />
Algunas plataformas que soportan esta característica sin necesidad de ninguna configuración especial. Consulte Soporte de la plataforma en la sección de Resumen.
addEventListener
Añade un detector para un evento de la
InAppBrowser.
ref.addEventListener(eventname, callback);
ref: referencia a la
InAppBrowserventana (InAppBrowser)eventName: el evento para escuchar (String)
-   loadstart: evento desencadena cuando el 
InAppBrowsercomienza a cargar una dirección URL. -   loadstop: evento desencadena cuando el 
InAppBrowsertermina cargando una dirección URL. -   loaderror: evento desencadena cuando el 
InAppBrowserencuentra un error al cargar una dirección URL. -   salida: evento desencadena cuando el 
InAppBrowserse cierra la ventana. 
-   loadstart: evento desencadena cuando el 
 devolución de llamada: la función que se ejecuta cuando se desencadene el evento. La función se pasa un
InAppBrowserEventobjeto como parámetro.
Plataformas soportadas
- Android
 - BlackBerry
 - iOS
 - Windows Phone 7 y 8
 
Ejemplo rápido
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstart', function() { alert(event.url); });
Ejemplo completo
<!DOCTYPE html>
<html>
  <head>
    <title>InAppBrowser.addEventListener Example</title>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);
    // device APIs are available
    //
    function onDeviceReady() {
         var ref = window.open('http://apache.org', '_blank', 'location=yes');
         ref.addEventListener('loadstart', function(event) { alert('start: ' + event.url); });
         ref.addEventListener('loadstop', function(event) { alert('stop: ' + event.url); });
         ref.addEventListener('loaderror', function(event) { alert('error: ' + event.message); });
         ref.addEventListener('exit', function(event) { alert(event.type); });
    }
    </script>
  </head>
  <body>
  </body>
</html>
removeEventListener
Elimina un detector para un evento de la
InAppBrowser.
ref.removeEventListener (eventname, "callback");
ref: referencia a la
InAppBrowserventana. (InAppBrowser)eventName: dejar de escuchar para el evento. (String)
-   loadstart: evento desencadena cuando el 
InAppBrowsercomienza a cargar una dirección URL. -   loadstop: evento desencadena cuando el 
InAppBrowsertermina cargando una dirección URL. -   loaderror: evento desencadena cuando el 
InAppBrowserse encuentra con un error al cargar una dirección URL. -   salida: evento desencadena cuando el 
InAppBrowserse cierra la ventana. 
-   loadstart: evento desencadena cuando el 
 devolución de llamada: la función a ejecutar cuando se desencadene el evento. La función se pasa un
InAppBrowserEventobjeto.
Plataformas soportadas
- Android
 - BlackBerry
 - iOS
 - Windows Phone 7 y 8
 
Ejemplo rápido
var ref = window.open('http://apache.org', '_blank', 'location=yes');
var myCallback = function() { alert(event.url); }
ref.addEventListener('loadstart', myCallback);
ref.removeEventListener('loadstart', myCallback);
Ejemplo completo
<!DOCTYPE html>
<html>
  <head>
    <title>InAppBrowser.removeEventListener Example</title>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);
    // Global InAppBrowser reference
    var iabRef = null;
    function iabLoadStart(event) {
        alert(event.type + ' - ' + event.url);
    }
    function iabLoadStop(event) {
        alert(event.type + ' - ' + event.url);
    }
    function iabLoadError(event) {
        alert(event.type + ' - ' + event.message);
    }
    function iabClose(event) {
         alert(event.type);
         iabRef.removeEventListener('loadstart', iabLoadStart);
         iabRef.removeEventListener('loadstop', iabLoadStop);
         iabRef.removeEventListener('loaderror', iabLoadError);
         iabRef.removeEventListener('exit', iabClose);
    }
    // device APIs are available
    //
    function onDeviceReady() {
         iabRef = window.open('http://apache.org', '_blank', 'location=yes');
         iabRef.addEventListener('loadstart', iabLoadStart);
         iabRef.addEventListener('loadstop', iabLoadStop);
         iabRef.removeEventListener('loaderror', iabLoadError);
         iabRef.addEventListener('exit', iabClose);
    }
    </script>
  </head>
  <body>
  </body>
</html>
cerrar
Cierra la ventana de
InAppBrowser.
Ref.Close();
-   ref: referencia a la 
InAppBrowserventana (InAppBrowser) 
Plataformas soportadas
- Android
 - BlackBerry
 - iOS
 - Windows Phone 7 y 8
 
Ejemplo rápido
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.close();
Ejemplo completo
<!DOCTYPE html>
<html>
  <head>
    <title>InAppBrowser.close Example</title>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);
    // device APIs are available
    //
    function onDeviceReady() {
         var ref = window.open('http://apache.org', '_blank', 'location=yes');
         // close InAppBrowser after 5 seconds
         setTimeout(function() {
             ref.close();
         }, 5000);
    }
    </script>
  </head>
  <body>
  </body>
</html>
Mostrar
Muestra una ventana InAppBrowser que abrió sus puertas ocultada. Esto no tiene efecto si el InAppBrowser ya era visible.
Ref.Show();
-   ref: referencia a la (ventana) InAppBrowser
InAppBrowser) 
Plataformas soportadas
- Android
 - BlackBerry
 - iOS
 
Ejemplo rápido
var ref = window.open ('http://apache.org', '_blank', ' oculto = yes');
Ref.Show();
Ejemplo completo
<!DOCTYPE html>
<html>
  <head>
    <title>InAppBrowser.show Example</title>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);
    // Cordova is ready
    //
    function onDeviceReady() {
         var ref = window.open('http://apache.org', '_blank', 'hidden=yes');
         ref.addEventListener('loadstop', function(event) {
             alert('background window loaded'); 
         });
         // close InAppBrowser after 5 seconds
         setTimeout(function() {
             ref.close();
         }, 5000);
    }
    </script>
  </head>
  <body>
  </body>
</html>
executeScript
Inyecta código JavaScript en la ventana de
InAppBrowser
ref.executeScript (datos, "callback");
ref: referencia a la
InAppBrowserventana. (InAppBrowser)injectDetails: detalles de la secuencia de comandos para ejecutar, o especificar un
fileocodeclave. (Objeto)- archivo: URL de la secuencia de comandos para inyectar.
 - código: texto de la escritura para inyectar.
 
devolución de llamada: la función que se ejecuta después de inyecta el código JavaScript.
-   Si el script inyectado es de tipo 
code, la devolución de llamada se ejecuta con un solo parámetro, que es el valor devuelto por el guión, envuelto en unArray. Para los scripts de varias líneas, este es el valor devuelto de la última declaración, o la última expresión evaluada. 
-   Si el script inyectado es de tipo 
 
Plataformas soportadas
- Android
 - BlackBerry
 - iOS
 
Ejemplo rápido
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstop', function() {
    ref.executeSript({file: "myscript.js"});
});
Ejemplo completo
<!DOCTYPE html>
<html>
  <head>
    <title>InAppBrowser.executeScript Example</title>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);
    // Global InAppBrowser reference
    var iabRef = null;
    // Inject our custom JavaScript into the InAppBrowser window
    //
    function replaceHeaderImage() {
        iabRef.executeScript({
            code: "var img=document.querySelector('#header img'); img.src='http://cordova.apache.org/images/cordova_bot.png';"
        }, function() {
            alert("Image Element Successfully Hijacked");
        }
    }
    function iabClose(event) {
         iabRef.removeEventListener('loadstop', replaceHeaderImage);
         iabRef.removeEventListener('exit', iabClose);
    }
    // device APIs are available
    //
    function onDeviceReady() {
         iabRef = window.open('http://apache.org', '_blank', 'location=yes');
         iabRef.addEventListener('loadstop', replaceHeaderImage);
         iabRef.addEventListener('exit', iabClose);
    }
    </script>
  </head>
  <body>
  </body>
</html>
insertCSS
Inyecta CSS en la ventana de
InAppBrowser.
ref.insertCSS (datos, "callback");
ref: referencia a la
InAppBrowserventana (InAppBrowser)injectDetails: detalles de la secuencia de comandos para ejecutar, o especificar un
fileocodeclave. (Objeto)- archivo: URL de la hoja de estilos para inyectar.
 - código: texto de la hoja de estilos para inyectar.
 
devolución de llamada: la función que se ejecuta después de inyectar el CSS.
Plataformas soportadas
- Android
 - BlackBerry
 - iOS
 
Ejemplo rápido
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstop', function() {
    ref.insertCSS({file: "mystyles.css"});
});
Ejemplo completo
<!DOCTYPE html>
<html>
  <head>
    <title>InAppBrowser.insertCSS Example</title>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);
    // Global InAppBrowser reference
    var iabRef = null;
    // Inject our custom CSS into the InAppBrowser window
    //
    function changeBackgroundColor() {
        iabRef.insertCSS({
            code: "body { background: #ffff00"
        }, function() {
            alert("Styles Altered");
        }
    }
    function iabClose(event) {
         iabRef.removeEventListener('loadstop', changeBackgroundColor);
         iabRef.removeEventListener('exit', iabClose);
    }
    // device APIs are available
    //
    function onDeviceReady() {
         iabRef = window.open('http://apache.org', '_blank', 'location=yes');
         iabRef.addEventListener('loadstop', changeBackgroundColor);
         iabRef.addEventListener('exit', iabClose);
    }
    </script>
  </head>
  <body>
  </body>
</html>
InAppBrowserEvent
El objeto que se pasa a la función de callback de una llamada addEventListener en un objeto InAppBrowser.
Propiedades
tipo: eventname, ya sea
loadstart,loadstop,loaderror, oexit. (String)URL: la URL que se cargó. (String)
código: el código de error, sólo en el caso de
loaderror. (Número)mensaje: el mensaje de error, sólo en el caso de
loaderror. (String)