Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

IONIC sites acessados pelo iframe que conseguem acessar recursos nativos?

Em um aplicativo IONIC, como eu poderia dar permissão para acessar recursos nativos GPS, CÂMERA etc para o site que esta sendo acessado pelo iframe ?

Falando em todo o contexto, tenho um trabalho onde a empresa não quer ficar atualizando o App na Play Store e etc, Então o App só tem um Login base, e dentro dele apenas tem seu conteúdo que é visto direto na WEB, por iframe e outros que der.

O problema são sites que que necessitam de permissão pra acessar recursos nativos, GPS, CÂMERA etc, tentei usar o iframe para acessar um site que pega a minha localização atual com GPS e fica me seguindo, só que o erro visto no console pelo App fala que não tenho permissão para tal.

Exemplo:

<iframe data-tap-disabled="true" src="https://operacao.rotaexata.com.br/rotate-mobile.html" allow="geolocation"></iframe>

Se tiver outro meio alem do iframe para navegar na web ...., mas é necessário que fique em uma "DIV".

2 respostas

Oi jholzx, tudo bem? Vi que seu tópico já está aberto a algum tempo e você não obteve respostas. Você ainda está com problemas? Vou procurar te ajudar da forma que puder, me dá um retorno aqui, tá bem?

solução!

Ola, resolvi de outra maneira por hora.

pelo que percebi e pesquisei, realmente não tem como um iframe dentro do IONIC adquirir permissão de acesso ao nativo do dispositivo.

Então como solução alternativa, usei o exemplo desse link https://gist.github.com/pbojinov/8965299, que mostra o uso de uma função nativa do navegador chamada :

window.postMessage()

Permite enviar mensagens para outras abas, assim como mandar mensagens para o iframe e vice versa.

Então quando eu quiser pedir GPS, CÂMERA etc, mando uma mensagem do iframe(que seria o site acessado) pedindo o que eu quero para o dispositivo, o dispositivo trata o pedido, por exemplo: pegar coordenadas atuais, e manda uma mensagem de volta para o iframe, e ele recebe as coordenadas.