es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo vincular la fuente de tráfico con una función de JavaScript.

Por favor, ahora uso esta función de Javascript:

function getCookie(nombre) {
  const valor = `; ${document.cookie}`;
  const partes = valor.split(`; ${nombre}=`);
  if (partes.length === 2) return partes.pop().split(";").shift();
}

function setLastAccess() {
  const fecha = new Date();
  const expirarMs = 0.5 * 60 * 1000; // número de minutos
  fecha.setTime(fecha.getTime() + expirarMs);
  document.cookie = `lastAccess=${new Date().getTime()};expires=${fecha.toUTCString()};path=/`;
}

if (!getCookie('lastAccess')) {
  window.location.href = "http://google.com";
  setLastAccess(); // establecer su último acceso al final
} else {
  setTimeout(function() {
    document.getElementById('boton-inicio-sesion').click();
  }, 1000);
}

Pero ahora quiero que esta función no funcione si el tráfico del sitio web no proviene de los navegadores Google Chrome o Firefox. ¿Cómo puedo hacer eso?
Y si el tráfico proviene de cualquier otro navegador, solo muestra un mensaje al usuario.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para hacer que la función solo funcione en los navegadores Google Chrome y Firefox, puedes usar la propiedad window.navigator.userAgent para verificar la cadena del agente de usuario del navegador.

    Aquí tienes una versión actualizada del código que verifica la cadena del agente de usuario y muestra un mensaje para los navegadores no compatibles:

    function getCookie(name) {
      const value = `; ${document.cookie}`;
      const parts = value.split(`; ${name}=`);
      if (parts.length === 2) return parts.pop().split(';').shift();
    }
    
    function setLastAccess() {
      const date = new Date();
      const expireMs = 0.5 * 60 * 1000; // número de minutos
      date.setTime(date.getTime() + expireMs);
      document.cookie = `lastAccess=${new Date().getTime()};expires=${date.toUTCString()};path=/`;
    }
    
    const userAgent = window.navigator.userAgent;
    const isChrome = /Chrome/.test(userAgent) && /Google Inc/.test(navigator.vendor);
    const isFirefox = /Firefox/.test(userAgent);
    
    if (!isChrome && !isFirefox) {
      alert('Este sitio web solo es compatible con los navegadores Google Chrome y Firefox.');
    } else if (!getCookie('lastAccess')) {
      window.location.href = 'http://google.com';
      setLastAccess(); // establece tu último acceso al final
    } else {
      setTimeout(function() {
        document.getElementById('button-login').click();
      }, 1000);
    }
    

    En este código actualizado, primero verificamos la cadena del agente de usuario para ver si el navegador es Chrome o Firefox. Si no es ninguno de ellos, se muestra un mensaje de alerta. Si es Chrome o Firefox, procedemos con el resto del código como antes.

Comments are closed.