Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

159
Visualizações
Permiso de geolocalización solicitado cada vez en Safari y navegadores móviles

Tengo un sitio web que pide geolocalización. Solo debería preguntar la primera vez que abre el sitio web, pero noté que si abre el sitio web en un dispositivo móvil (con Chrome o Safari) o en una computadora de escritorio con Safari, el sitio web solicita permiso cada vez que recarga una página.

Si abre el sitio web en una computadora con Chrome, funciona como debería sin ningún problema.

Este es mi código. ¿Cuál es la causa de este problema?

 jQuery(document).ready(function($) { if ("geolocation" in navigator) { console.log("Geolocation availbale"); navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationError); } else { geolocationError() } function geolocationSuccess(position) { console.log(position.coords.latitude, position.coords.longitude); $.ajax({ url: geolocationParams.ajaxurl, type: 'POST', data: { action: geolocationParams.actionLocalities, lat: position.coords.latitude, lng: position.coords.longitude, }, dataType: 'json', success: function(response) { console.log("Ajax returned", response); $('.homepage-posts-wrapper.third-block-grid').html(response.html); } }) } function geolocationError(err) { console.log(err); $.ajax({ url: geolocationParams.ajaxurl, type: 'POST', data: { action: geolocationParams.actionLocalities, lat: "", lng: "", }, dataType: 'json', success: function(response) { console.log("Ajax returned", response); $('.homepage-posts-wrapper.third-block-grid').html(response.html); } }) } });
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cuando un navegador decide pedir permiso depende totalmente del navegador y es diferente.

La mayoría de los navegadores hoy en día preguntarán por cada uso individual, a menos que el usuario haga clic en "Recordar esta decisión" en el cuadro de diálogo (ejemplo en Firefox):

Diálogo de permiso de geolocalización en Firefox

La mejor práctica para las aplicaciones web es, por lo tanto, no realizar solicitudes de geolocalización no solicitadas, sino dejar que el usuario inicie la acción haciendo clic en un botón.

Si eso no se ajusta a su caso de uso, puede guardar el resultado de su primera solicitud de geolocalización exitosa (por ejemplo, en una cookie o localStorage ) y usarlo mientras el usuario está en su sitio.

Ejemplo (estoy tratando de apegarme a tu estilo):

 function onWeHaveALocation(latLng) { console.log('Now or not too long ago the user was here:', latLng) } function geolocationError() { console.log('Location unknown.') } function geolocationSuccess(position) { const latLng = { lat: position.coords.latitude, lng: position.coords.longitude } // This is a session cookie. Check the API for different lifetimes. document.cookie = 'geolocation=' + JSON.stringify(latLng) onWeHaveALocation(latLng) } // You might prefer to use a library like https://www.npmjs.com/package/js-cookie instead const geolocationCookieString = document.cookie .split('; ') .find(function (cookieKeyValuePair) { return cookieKeyValuePair.startsWith('geolocation=') }) ?.split('=')[1] if (geolocationCookieString) { const latLng = JSON.parse(geolocationCookieString) onWeHaveALocation(latLng) } else if ("geolocation" in navigator) { navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationError); } else { geolocationError() }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda