Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

228
Vistas
La extensión de Chrome detecta si la pestaña está activa o inactiva

Estoy tratando de crear una extensión de Chrome que rastreará el tiempo que un usuario usó un sitio web (es decir, un rastreador de actividad). Mi enfoque es obtener el tiempo cuando la pestaña está activa y obtener el tiempo cuando está inactivo y luego restar, pero puedo ' obtener la pestaña inactiva

 //// background.js async function getCurrentTab() { let queryOptions = { active: true, currentWindow: true }; let [tab] = await chrome.tabs.query(queryOptions); return tab; }

este es el código que estoy usando para obtener la información de la pestaña actual

esta es mi primera extensión así que...

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Usando api chrome.tabs.onActivated

 const url = '' const time = 0 chrome.tabs.onActivated.addListener(async (activeInfo) => { const { tabId } = activeInfo; const newUrl = tabId const currentTime = new Date().getTime() if (url && url !== newUrl) { const elapsedTime = currentTime - time; time = new Date().getTime() url = newUrl // 1. if url is null, start timer } else { time = currentTime url = newUrl } });

Si desea obtener url o href usando esta api chrome.tabs.get(tabId, (res) => {} )

about 4 years ago · Santiago Trujillo Denunciar

0

Creo que puede usar un mapa para almacenar todas las URL visitadas como claves y el tiempo en que se activaron como valores. Si esto no es lo que está buscando, lo siento, pero estoy seguro de que puede usar esto. Dime si algo no funciona:

 let Opened = new Map(); let lastChanged, previousUrl; chrome.tabs.onUpdated.addListener(function (tabid, changeInfo, tab) { var currentUrl = changeInfo.url; if (!currentUrl) return; if (currentUrl !== previousUrl) { if (lastChanged) { const elapsedTime = (new Date().getTime()) - lastChanged; if (!Opened.has(previousUrl)) { Opened.set(previousUrl, elapsedTime); // Set time to the elapsed time if its a new URL } else { Opened.set(previousUrl, Opened.get(currentUrl) + elapsedTime); // Increment the time for this URL } } lastChanged = new Date().getTime(); previousUrl = currentUrl; } });
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda