|
6 лет назад | |
---|---|---|
.. | ||
README.md | 6 лет назад | |
index.md | 6 лет назад |
Este plugin proporciona una vista de navegador web que se muestra cuando se llama a cordova.InAppBrowser.open()
.
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
El cordova.InAppBrowser.open()
función se define como un reemplazo de sobreponer para la función window.Open ()
. Llamadas existentes window.Open ()
pueden utilizar la ventana InAppBrowser, mediante la sustitución de window.open:
window.open = cordova.InAppBrowser.open;
La ventana de InAppBrowser se comporta como un navegador web estándar y no puede acceder a Cordova APIs. Por este motivo, se recomienda la InAppBrowser si necesita cargar contenido de terceros (confianza), en lugar de que cargar en el principal webview Cordova. El InAppBrowser no está sujeta a la lista blanca, ni va a abrir enlaces en el navegador del sistema.
El InAppBrowser proporciona por defecto sus propios controles GUI para el usuario (atras, adelante, hacer).
Para atrás compatibilidad, este plugin también ganchos window.open
. Sin embargo, el gancho de window.open
plugin instalado puede tener efectos secundarios no deseados (especialmente si este plugin está incluido únicamente como una dependencia de otro plugin). El gancho de window.open
se quitará en una versión futura de principal. Hasta que el gancho se ha extraído el plugin, aplicaciones pueden restaurar manualmente el comportamiento por defecto:
delete window.open // Reverts the call back to it's prototype's default
Aunque window.open
es en el ámbito global, InAppBrowser no está disponible hasta después del evento deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log("window.open works well");
}
cordova plugin add cordova-plugin-inappbrowser
Si quieres todas las cargas de página en su aplicación para ir a través de la InAppBrowser, simplemente puedes conectar window.open
durante la inicialización. Por ejemplo:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
window.open = cordova.InAppBrowser.open;
}
Se abre una dirección URL en una nueva instancia de InAppBrowser
, en la instancia actual del navegador o el navegador del sistema.
var ref = cordova.InAppBrowser.open(url, target, options);
ref: referencia a la InAppBrowser
ventana. (InAppBrowser)
url: el URL para cargar (String). Llame a encodeURI()
en esto si la URL contiene caracteres Unicode.
target: el objetivo en el que se carga la URL, un parámetro opcional que se utiliza de forma predeterminada _self
. (String)
_self
: se abre en el Cordova WebView si la URL está en la lista blanca, de lo contrario se abre en el InAppBrowser
._blank
: abre en el InAppBrowser
._system
: se abre en el navegador del sistema.options: opciones para el InAppBrowser
. Opcional, contumaz a: location=yes
. (String)
La cadena de options
no debe contener ningún espacio en blanco, y los pares de nombre y valor de cada característica deben estar separados por una coma. Los nombres de función son minúsculas. Todas las plataformas admiten el valor siguiente:
yes
o no
para activar o desactivar la barra de ubicación de la InAppBrowser
.
Sólo Android:
yes
para crear el navegador y cargar la página, pero no lo demuestra. El evento loadstop se desencadena cuando termine la carga. Omitir o a no
(por defecto) para que el navegador abra y carga normalmente.yes
para que el navegador es caché de galleta despejado antes de que se abra la nueva ventanayes
que la caché de cookie de sesión despejado antes de que se abra la nueva ventanasí
para mostrar los controles de zoom del navegador de Android, a no
para ocultarlas. El valor predeterminado es sí
.sí
para utilizar el botón back de hardware para navegar hacia atrás a través de la historia de la InAppBrowser
. Si no hay ninguna página anterior, se cerrará el InAppBrowser
. El valor predeterminado es sí
, por lo que se debe establecer en no
si desea que el botón back para simplemente cerrar el InAppBrowser.
Sólo iOS:
yes
o no
(valor por defecto es no
). Activa/desactiva la propiedad UIWebViewBounce.yes
para crear el navegador y cargar la página, pero no lo demuestra. El evento loadstop se desencadena cuando termine la carga. Omitir o a no
(por defecto) para que el navegador abra y carga normalmente.yes
para que el navegador es caché de galleta despejado antes de que se abra la nueva ventanayes
que la caché de cookie de sesión despejado antes de que se abra la nueva ventanayes
o no
para activar la barra de herramientas on u off para el InAppBrowser (por defectoyes
)yes
o no
para evitar viewport escalar a través de una etiqueta meta (por defecto a no
).yes
o no
para evitar HTML5 audio o vídeo de reproducción automática (por defecto a no
).yes
o no
para permitir la reproducción de los medios de comunicación en línea HTML5, mostrando en la ventana del navegador en lugar de una interfaz específica del dispositivo de reproducción. Elemento video
de HTML también debe incluir el atributo de webkit-playsinline
(por defecto a no
)yes
o no
para abrir el teclado cuando elementos de formulario reciben el foco mediante llamada de JavaScript de focus()
(por defecto a yes
).yes
o no
para esperar hasta que todos los nuevos contenidos de vista se recibieron antes de ser prestados (por defecto a no
).pagesheet
, formsheet
o fullscreen
para definir el estilo de la presentación (por defecto a fullscreen
).fliphorizontal
, crossdissolve
o coververtical
para definir el estilo de transición (por defecto coververtical
).top
o bottom
(valor por defecto es bottom
). Hace que la barra de herramientas en la parte superior o inferior de la ventana.
Sólo Windows:
yes
para crear el navegador y cargar la página, pero no lo demuestra. El evento loadstop se desencadena cuando termine la carga. Omitir o a no
(por defecto) para que el navegador abra y carga normalmente.sí
para crear el control del navegador sin un borde alrededor de él. Por favor tenga en cuenta que si location=no también se especifica, no habrá ningún control presentado al usuario para cerrar la ventana IAB.var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
var ref2 = cordova.InAppBrowser.open(encodeURI('http://ja.m.wikipedia.org/wiki/ハングル'), '_blank', 'location=yes');
Como plugin no cumplir cualquier diseño es necesario añadir algunas reglas CSS si abre con target = '_blank'
. Las reglas pueden parecerse a estos
.inAppBrowserWrap {
background-color: rgba(0,0,0,0.75);
color: rgba(235,235,235,1.0);
}
.inAppBrowserWrap menu {
overflow: auto;
list-style-type: none;
padding-left: 0;
}
.inAppBrowserWrap menu li {
font-size: 25px;
height: 25px;
float: left;
margin: 0 10px;
padding: 3px 10px;
text-decoration: none;
color: #ccc;
display: block;
background: rgba(30,30,30,0.50);
}
.inAppBrowserWrap menu li.disabled {
color: #777;
}
Similar al comportamiento visual de la ventana de Firefox OS IAB puede anularse mediante inAppBrowserWrap
/inAppBrowserWrapFullscreen
clases CSS
Plugin se implementa mediante iframe,
Historial de navegación (botonesatrás
y adelante
en LocationBar) no está implementado.
El objeto devuelto desde una llamada a cordova.InAppBrowser.open
.
Añade un detector para un evento de la
InAppBrowser
.
ref.addEventListener(eventname, callback);
ref: referencia a la ventana de InAppBrowser
(InAppBrowser)
eventName: el evento para escuchar (String)
InAppBrowser
comienza a cargar una dirección URL.InAppBrowser
cargar una dirección URL.InAppBrowser
encuentra un error al cargar una dirección URL.InAppBrowser
.callback: la función que se ejecuta cuando se desencadene el evento. La función se pasa un objeto InAppBrowserEvent
como un parámetro.
type: eventname, loadstart
, loadstop
, loaderror
o exit
. (String)
url: la URL que se cargó. (String)
code: el código de error, sólo en el caso de loaderror
. (Número)
message: el mensaje de error, sólo en el caso de loaderror
. (String)
eventos loadstart
y loaderror
no son alimentados.
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstart', function(event) { alert(event.url); });
Elimina un detector para un evento de la
InAppBrowser
.
ref.removeEventListener(eventname, callback);
ref: referencia a la ventana de InAppBrowser
. (InAppBrowser)
eventName: dejar de escuchar para el evento. (String)
InAppBrowser
comienza a cargar una dirección URL.InAppBrowser
cargar una dirección URL.InAppBrowser
se encuentra con un error al cargar una dirección URL.InAppBrowser
.callback: la función a ejecutar cuando se desencadene el evento. La función se pasa un objeto InAppBrowserEvent
.
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
var myCallback = function(event) { alert(event.url); }
ref.addEventListener('loadstart', myCallback);
ref.removeEventListener('loadstart', myCallback);
Cierra la ventana de
InAppBrowser
.
ref.close();
InAppBrowser
(InAppBrowser)var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
ref.close();
Muestra una ventana InAppBrowser que abrió sus puertas ocultada. Esto no tiene efecto si el InAppBrowser ya era visible.
ref.show();
InAppBrowser
)var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'hidden=yes');
// some time later...
ref.show();
Inyecta código JavaScript en la ventana de
InAppBrowser
ref.executeScript(details, callback);
ref: referencia a la ventana de InAppBrowser
. (InAppBrowser)
injectDetails: detalles de la secuencia de comandos para ejecutar, o especificar un file
o code
clave. (Objeto)
devolución de llamada: la función que se ejecuta después de inyecta el código JavaScript.
code
, la devolución de llamada se ejecuta con un solo parámetro, que es el valor devuelto del guión, envuelto en una Array
. Para scripts multilíneas, este es el valor devuelto de la última declaración, o la última expresión evaluada.var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstop', function() {
ref.executeScript({file: "myscript.js"});
});
Debido a la documentación MSDN el script invocado puede devolver únicamente valores de cadena, de lo contrario el parámetro, pasa al callback será [null]
.
Inyecta CSS en la ventana de
InAppBrowser
.
ref.insertCSS(details, callback);
ref: referencia a la ventana de InAppBrowser
(InAppBrowser)
injectDetails: detalles de la secuencia de comandos para ejecutar, o especificar un file
o code
clave. (Objeto)
callback: la función que se ejecuta después de inyectar el CSS.
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstop', function() {
ref.insertCSS({file: "mystyles.css"});
});