Cordova - InAppBrowser

Este plugin é usado para abrir o navegador da web dentro do aplicativo Cordova.

Etapa 1 - Instalando o plug-in

Precisamos instalar este plugin em command prompt janela antes que possamos usá-lo.

C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-inappbrowser

Etapa 2 - botão Adicionar

Vamos adicionar um botão que será usado para abrir inAppBrowser janela em index.html.

Etapa 3 - Adicionar Listener de Evento

Agora vamos adicionar ouvinte de evento para nosso botão em onDeviceReady função em index.js.

document.getElementById("openBrowser").addEventListener("click", openBrowser);

Etapa 4 - Criar Função

Nesta etapa estamos criando uma função que abrirá o navegador dentro de nosso aplicativo. Estamos atribuindo isso aoref variável que podemos usar posteriormente para adicionar ouvintes de eventos.

function openBrowser() {
   var url = 'https://cordova.apache.org';
   var target = '_blank';
   var options = "location = yes"
   var ref = cordova.InAppBrowser.open(url, target, options);
   
   ref.addEventListener('loadstart', loadstartCallback);
   ref.addEventListener('loadstop', loadstopCallback);
   ref.addEventListener('loaderror', loaderrorCallback);
   ref.addEventListener('exit', exitCallback);

   function loadstartCallback(event) {
      console.log('Loading started: '  + event.url)
   }

   function loadstopCallback(event) {
      console.log('Loading finished: ' + event.url)
   }

   function loaderrorCallback(error) {
      console.log('Loading error: ' + error.message)
   }

   function exitCallback() {
      console.log('Browser is closed...')
   }
}

Se pressionarmos BROWSER botão, veremos a seguinte saída na tela.

O console também ouvirá eventos. loadstart evento será disparado quando o URL começar a carregar e loadstopserá disparado quando o URL for carregado. Podemos ver no console.

Assim que fechamos o navegador, exit evento irá disparar.

Existem outras opções possíveis para a janela InAppBrowser. Explicaremos na tabela abaixo.

S.Não opção e detalhes
1

location

Usado para ligar ou desligar a barra de localização do navegador. Os valores sãoyes ou no.

2

hidden

Usado para ocultar ou mostrar noAppBrowser. Os valores sãoyes ou no.

3

clearCache

Usado para limpar o cache de cookies do navegador. Os valores sãoyes ou no.

4

clearsessioncache

Usado para limpar o cache do cookie da sessão. Os valores sãoyes ou no.

5

zoom

Usado para ocultar ou mostrar os controles de zoom do navegador Android. Os valores sãoyes ou no.

6

hardwareback

yes para usar o botão Voltar do hardware para navegar de volta pelo histórico do navegador. no para fechar o navegador quando o botão Voltar for clicado.

Podemos usar ref(referência) variável para algumas outras funcionalidades. Mostraremos apenas exemplos rápidos disso. Para remover ouvintes de eventos, podemos usar -

ref.removeEventListener(eventname, callback);

Para fechar InAppBrowser, podemos usar -

ref.close();

Se abrirmos uma janela oculta, podemos mostrá-la -

ref.show();

Até mesmo o código JavaScript pode ser injetado no InAppBrowser -

var details = "javascript/file/url"
ref.executeScript(details, callback);

O mesmo conceito pode ser usado para injetar CSS -

var details = "css/file/url"
ref.inserCSS(details, callback);