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

154
Views
El código Javascript funciona en la consola pero no en la extensión

Tengo un configurador de velocidad de reproducción simple para cualquier video etiquetado con HTML (YouTube).

Recibo este error cuando hago clic en el botón 2.25 para intentar establecer la velocidad de reproducción del video en 2.25: "No se pueden establecer las propiedades de nulo (configurando 'playbackRate')".

Pero cuando abro la consola del navegador y escribo "document.querySelector('video').playbackRate = 2.25", el video cambia bien su velocidad.

¿Por qué mi extensión, que ejecuta el mismo código, no falla al ejecutarse? ¿Y cuál es la solución?

Todo mi código está debajo. Puedes copiarlo y probarte a ti mismo.

velocidad de juego.js

 document.getElementById('speed225').onclick = function () { document.querySelector('video').playbackRate = 2.25; }

botones-de-velocidad.html

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="style.css" /> </head> <body> <div id="popup-content"> <div class="button" id="speed225">2.25</div> </div> <script src='playspeed.js'></script> </body> </html>

estilo.css

 html, body { width: 100px; } .button { margin: 3% auto; padding: 4px; text-align: center; font-size: 1em; cursor: pointer; background-color: lightgray; } .button:hover { background-color: rgb(196, 230, 196); }

manifiesto.json

 { "manifest_version": 2, "name": "Video Playback Speed Controller (Menu Bar)", "version": "1.0", "description": "Adds buttons in the menu bar to change playback speed for HTML video tagged videos.", "icons": { "48": "icons/playback-icon-48.png" }, "permissions": [ "activeTab" ], "browser_action": { "default_icon": "icons/playback-icon-32.png", "default_title": "Change Video Speed", "default_popup": "speed-buttons.html" } }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Tu archivo JavaScript, playspeed.js, no se está ejecutando en la ventana de contenido. Se está ejecutando en su HTML emergente.

Le recomiendo que actualice a manifest V3 y use chrome.scripting . Luego, intenta algo como esto:

 const tabId = getTabId(); chrome.scripting.executeScript( { target: {tabId: tabId}, files: ['playspeed.js'], }, () => { ... } );

Consulte también: https://developer.chrome.com/docs/extensions/reference/scripting/

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!