Buenas David, tengo un objeto donde estoy cargando una pagina que tengo en el servidor, mi problema radica en que esta pagina te hace una geolocalización para presentarte un información o otra, el problema radica es que la pagina cuando esta en el IFRAME no es capaz de Geolocalizar, en cambio si cargo la pagina fuera del IFRAME si, pero esto hace que no pueda ejecutar una serie de funciones de unión entre la pagina y la App..
Sabes como se podría hacer que funcionara la GEOLOCALIZACIÓN DE LA WEB en el IFRAME.
GRACIAS DE ANTEMANO
Querido usuario: por favor, note que este hilo se refiere a la anterior generación de nuestro DecSoft App Builder, que, está disponible sólo para nuestros clientes en su área de cliente de nuestro sitio web. Le recomendamos obtener más información, descargar y
probar la generación actual del producto aquí.
Hola Jordi,
No estoy seguro, pero, acaso puedas intentar añadiendo un atributo 'allow="geolocation"' al IFrame, algo como se indica en esta y esta otra respuestas de StackOverflow. Si estás usando un control "IFrame", deberás añadir el atributo mediante Javascript: si no funcionase, acaso deberías usar un control HTML, dentro del cual situarías la etiqueta "iframe", ya con el atributo mencionado.
Cómo le meto el atributo por JS... como se lo paso al control IFrame1
Hola Jordi,
Para añadir el atributo "allow" a un control IFrame, podrías probar a usar el evento Show de la vista donde está el IFrame, con el siguiente código:
No logra localizar.. con el allow
Hola Jordi,
Prueba entonces usando un control HTML, dentro del cual sitúas la etiqueta IFrame ya con el atributo "allow". No sé si has probado con 'allow="*"', pero, deberías hacerlo en ambos casos: con el control IFrame y con el control HTML y la etiqueta IFrame dentro. Si esto no funciona... no estoy seguro de que pueda conseguirse hacer... ¿cuál es la URL que muestras en el IFrame?
https://pruebas1.comolo.es
Hola Jordi,
Varias cosas. He podido notar que en Firefox no se solicitan permisos de geolocalización, pero, sí se solicitan en Google Chrome, ahora bien, no si usamos un control IFrame al que añadimos un atributo "allow". La forma en que he logrado que se soliciten permisos en Google Chrome es usando un control HTML, dentro del cual ponemos un "iframe" ya con su atributo "allow".
Sin embargo, dicho lo anterior, también parece que es posible usar un control IFrame en lugar de un control HTML, de modo que Google Chrome nos solicite los permisos: la forma de hacerlo es dejando la propiedad "Url" del objeto IFrame vacía, y, utilizar el siguiente código en el evento Show de la vista:
Como ves, la idea es poner el atributo "allow" y a continuación la URL del IFrame. Haciéndolo así Google Chrome nos pide los permisos adecuados. Ahora bien, el comportamiento del IFrame, de la página del IFrame, no parece correcto, como podrás ver si corres la app en Google Chrome con la consola de desarrollador abierta. Uno de los mensajes que obtenemos en la consola es el siguiente:
Aparentemente, lo que quiere decir ese mensaje es que no debemos intentar la geolocalización del usuario sin que antes el usuario pulse en algún botón, por ejemplo. Es decir, el proceso de geolocalización debería comenzar después de que un usuario hiciese clic en algún botón, y, no de forma automática al cargarse la página.
Me pregunto si ese problema tiene algo que ver conque Firefox no nos pida los permisos de geolocalización... acaso si el proceso de geolocalización se iniciase después de que el usuario pulsase un botón, todo funcionaría como se espera también en Firefox. Quiero pensar que sí. Debes revisar en todo caso el comportamiento de la app funcionando en Google Chrome con la consola de desarrollador abierta: vas a ver la "violación" que he mencionado arriba, así como otros mensajes que pueden acaso ayudarte.
Gracias DAVID.. en principio así funciona... no va tan suave como me gustaría pero de momento funciona...
Everybody can read the DecSoft support forum for learning purposes, however only DecSoft customers can post new threads. Purchase one or more licenses of some DecSoft products in order to give this and other benefits.