Tengo un problema con javascript:
navigator.geolocation.getCurrentPosition(success_callback,error_callback)Funciona bien en la mayoría de las máquinas con la mayoría de los navegadores. El problema es que tengo una Mac y, de forma predeterminada, impide que los navegadores accedan a las ubicaciones, a menos que lo permita manualmente en el nivel del sistema operativo. (Como nota al margen, estoy usando el navegador Brave, Chrome no tiene el problema)
Lo que está pasando en este momento es que Brave pide permiso para acceder a la ubicación. Selecciono sí, pero debido a que no está permitido en el nivel del sistema operativo, no se llama a success_callback ni a error_callback ... por lo que mi sitio simplemente se cuelga allí.
Debo mencionar que Chrome no tiene este problema, de alguna manera sabe que el sistema operativo está bloqueando el permiso, por lo que se llama a error_callback .
Mi pregunta es ¿cómo supero esto? El código parcial está a continuación:
<template> <Modal v-if="showModal"> </template> navigator.geolocation.getCurrentPosition(this.setBrowserLocation, this.errorBrowserLocation) setBrowserLocation(position) { .... .... .... this.showModal = true } errorBrowserLocation(error) { this.showModal = true } Estoy pensando que puedo hacer algo en la línea de verificar si no se llama a ninguno de los call_backs. Y si no se llaman ambos, puedo configurar automáticamente this.showModal . Pensé en usar watchers , pero solo detectan un cambio ... así que nada cambia, entonces realmente no puedo usarlo.
¿Alguna idea de cómo puedo lidiar con esto?