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

527
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 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