Pregunta

Puedo atravesar fácilmente la ventana actual mientras estoy dentro de la función pageLoad en mi extensión usando content.document, pero cuando intento acceder a ella en otra función, llamada con setInterval, no puedo acceder al content.document.

Probé content.document, document.defaultView, window.content.document y, básicamente, cualquier otra combinación sensata que se me ocurriera.

por favor ayuda. gracias.

¿Fue útil?

Solución

Conseguí que esto funcionara sacando el objeto de documento de un evento como este:

   e.target.defaultView.document

El objeto de evento está disponible en cualquier función de escucha de eventos, por ejemplo puede estar capturando el evento cargado de documentos haciendo algo como esto:

   var appcontent = window.document.getElementById('appcontent');
   appcontent.addEventListener('DOMContentLoaded', onPageLoad, false);

En este ejemplo, la función onPageLoad obtiene un argumento de evento que se puede utilizar para recuperar el documento.

Para poder acceder al objeto de documento en otro lugar, establezca una variable global que apunte a eso. Y si usa jQuery, pase esto como el segundo argumento opcional a la función $ (es decir, el contexto en el que funciona jQuery).

Otros consejos

No estoy seguro de por qué eso no funcionaría (tendría que ver más código). Sin embargo, una alternativa sería usar gBrowser.selectedBrowser.contentDocument .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top