Estoy escribiendo una extensión para Firefox, y necesito registrar algunos datos en la consola de Firebug. Dentro del alcance de mi complemento, "consola" no está definida, y "window.content.console" tampoco está definida. Entonces, ¿cómo me conecto a la consola?¿Cómo se conecta a Firebug desde una extensión?
Respuesta
Dado que no está escribiendo Javascript que se ejecuta dentro de una ventana, console
no está definido.
Así que hay que hacer referencia a la extensión Firebug primera:
Firebug.Console.log(str);
Por lo que sé, solo puede hacer eso si está creando un complemento JetPack. La depuración normal se realiza con Venkman de Mozilla en http://www.mozilla.org/projects/venkman/
La consola Firebug está asociada a una página en particular, por lo que no sería muy conveniente incluso si lograra registrar mensajes allí. ¿Has probado Chromebug? No lo usé, pero esperaría encontrar una consola similar para extensiones para usar allí.
También podría utilizar la consola de errores habitual, aunque no obtendrá todas las delicadezas que ofrece la consola de Firebug. Puede instalar Console^2 https://addons.mozilla.org/en-US/firefox/addon/1815 para hacer que el uso de la consola de errores sea un poco menos doloroso.
Si en su extensión a la que tiene acceso al objeto de ventana de contenido, puede desenvolverlo, y llamar a los métodos de la consola directamente:
window.wrappedJSObject.console.log('something important');
window.wrappedJSObject no está definido –
Hay contextos en los que incluso el objeto Firebug es desconocido, como si estuviera tratando de llamarlo desde una barra lateral ... en cuyo caso tiene que volver a la ventana original para obtener el objeto Firebug :
var Firebug = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebNavigation)
.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow).Firebug;
Puede entonces desde el interior de la barra lateral llamada Firebug así:
Firebug.Console.log("foo");
Esto está documentado aquí: https://developer.mozilla.org/en/Code_snippets/Sidebar
Para conectarse a la consola desde el interior de JavaScript de una extensión para Firefox:
Application.console.log ("¡Hola de mi extensión de Firefox!");
- 1. ¿A dónde se conecta RACK?
- 2. ¿Cómo puedo depurar una extensión de Firefox con Firebug?
- 3. ¿Se conecta a la red una conexión a localhost?
- 4. Detectar cuando se conecta una nueva pantalla
- 5. Cómo conducir Firebug desde Selenium WebDriver
- 6. hg no se conecta a Bitbucket mediante una clave personalizada
- 7. ¿Cómo puedo crear una ventana inferior similar a Firebug? Extensión de Firefox
- 8. ¿Cómo se conecta a una base de datos MySQL usando Oracle SQL Developer?
- 9. remota se conecta a una base de datos MySQL
- 10. ¿Cómo se conecta la consola a Xcode IDE
- 11. ¿Cómo se conecta a SQL Server Compact 4.0 en ASP.NET?
- 12. cómo implementar facebook ¿se conecta con la extensión de usuario Yii?
- 13. ¿Cómo es que sqlplus no se conecta?
- 14. ContextClassLoader no se conecta
- 15. ¿Cómo se conecta strace a un proceso ya en ejecución?
- 16. ¿Alternativa a Firebug para Firefox?
- 17. ¿A qué se conecta la dirección del puerto 0x80?
- 18. ¿Cómo se conecta una carpeta javadoc local a un proyecto sin una ruta absoluta
- 19. PoolTimeoutException cuando se conecta a Cassandra a través de Astyanax
- 20. ¿Cómo se reproduce audio en una extensión?
- 21. Cómo agrego manejador de protocolo a firefox desde la extensión
- 22. PyQt enviando el parámetro a la ranura cuando se conecta a una señal
- 23. ¿Cómo se conecta a múltiples bases de datos MySQL en una sola página web?
- 24. Selenium Grid2 - Nodo remoto que no se conecta a HUB
- 25. Entity Framework que se conecta a SQLEXPRESS no SQL Compact
- 26. xdebug no se conecta con el cliente?
- 27. gdb se conecta a un proceso sin detener
- 28. emulador de BlackBerry que no se conecta a Internet
- 29. Android Bluetooth API se conecta a varios dispositivos
- 30. Problema FireBug: No se puede usar console.log
¡Oopch, 'Firebug' no está definido! –
Tengo Firebug instalado pero parece que ya no puedes hacer esto. 'Firebug' es' undefined'. –
@TahaJahangir, simplemente encienda su Firebug para la página actual y presione f5;) –