Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

189
Views
¿Por qué el indicador de Javascript solo aparece cuando se actualiza Youtube?

Estoy creando una extensión de Chrome simple que muestra un aviso al ingresar a ciertos sitios web. Mi principal sería Youtube. Aquí está el código que tengo hasta ahora:

 if(window.location.hostname ==="www.youtube.com") { let why = prompt("Why are you on Youtube/Watching this video?", ""); };

Esto funciona bien al ingresar a YouTube por primera vez, al actualizar una página o al retroceder una página usando la flecha hacia atrás. Sin embargo, me gustaría que apareciera cada vez que hago clic en un video o cambio de página (por ejemplo, al pasar de la pestaña Recomendados a la pestaña Suscripciones). ¿Cómo puedo hacer esto?

EDITAR: Encontré un código que funciona en esta pregunta: Detectar el cambio de video de Youtube con javascript inyectado Aquí está mi código final:

 function run(){ if(window.location.hostname ==="www.youtube.com") { let why = prompt("Why are you on Youtube/Watching this video?", ""); }; } window.onload = run; window.addEventListener('yt-navigate-start', run, true);
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Youtube es una aplicación de página única (SPA), por lo que la página no se vuelve a cargar cuando se hace clic en un video. Puedes leer más sobre esto aquí .

El código que publicaste solo se ejecuta cuando se carga la página, y eso sucede, como ya notaste, cuando abres YouTube por primera vez o actualizas la página.

Tal vez puedas intentar escuchar los cambios de título, que cambian en cada video y página, usando este fragmento de código que obtuve de este hilo .

 new MutationObserver(function(mutations) { console.log(mutations[0].target.nodeValue); }).observe( document.querySelector('title'), { subtree: true, characterData: true, childList: true } );
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!