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

524
Views
En una secuencia de comandos de contenido de Chrome Extension, ¿debo esperar a document.ready antes de procesar el documento?

Específicamente, estoy evaluando todas las imágenes en una página para ver si tienen un atributo determinado y luego agrego algunos <divs> nuevos al DOM en función de esos atributos. ¿Debo esperar a que document.ready se dispare antes de realizar estas modificaciones para garantizar que Chrome haya cargado todas las piezas necesarias del DOM?

El problema con el que me encuentro es que, a veces, document.ready tarda un poco en activarse y el usuario ya está navegando por la página, preguntándose por qué mi extensión aún no ha tenido ningún efecto. El problema suele durar solo un momento, pero es suficiente para ser molesto.

Si no me molesto en esperar a que el documento esté listo y, en su lugar, procese el documento de inmediato, todo parece funcionar; pero me pregunto si estoy teniendo suerte.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

En realidad, no tienes que esperar. Puede procesar de inmediato en Content Scripts . Solo asegúrese de no usar document_start en el atributo run_at .

En document_end , los archivos se inyectan inmediatamente después de que se completa el DOM, pero antes de que se carguen los subrecursos como imágenes y marcos. document_idle (el valor predeterminado) ocurre incluso más tarde.

 { "name": "My extension", ... "content_scripts": [ { "matches": ["http://www.google.com/*"], "css": ["mystyles.css"], "js": ["jquery.js", "myscript.js"], "run_at": "document_end" } ], ... }
over 4 years ago · Santiago Trujillo Report

0

Respuesta corta: sí.

Respuesta larga: jQuery no podrá capturar ningún elemento DOM que aún no esté renderizado. Sé que me he metido en problemas varias veces y puede ser bastante molesto depurar algo por un tiempo y luego darme cuenta de que olvidé envolver el código en un documento. Listo. Si te funciona, es porque tienes suerte. Además, no necesita envolverlo en un documento. Listo si sus scripts están en la parte inferior de su página, justo encima de su etiqueta de cuerpo de cierre.

over 4 years ago · Santiago Trujillo 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!