how - javascript iframe contentwindow
Registro de la consola de captura de un iframe (2)
Aquí hay otra solución si no desea adjuntar a HTML
var console = {
__on : {},
addEventListener : function (name, callback) {
this.__on[name] = (this.__on[name] || []).concat(callback);
return this;
},
dispatchEvent : function (name, value) {
this.__on[name] = (this.__on[name] || []);
for (var i = 0, n = this.__on[name].length; i < n; i++) {
this.__on[name][i].call(this, value);
}
return this;
},
log: function () {
var a = [];
// For V8 optimization
for (var i = 0, n = arguments.length; i < n; i++) {
a.push(arguments[i]);
}
this.dispatchEvent("log", a);
}
};
Fuera del iframe
iframe.contentWindow.console.addEventListener("log", function (value) {
console.log.apply(null, value);
});
¿Hay una manera de capturar la consola fuera de un iframe?
Estoy trabajando en un IDE en línea similar a jsFiddle y quería darles a los usuarios la opción de al menos leer los resultados de la consola javascript.
Si desea imprimir los mensajes de registro dentro del cuerpo del contenedor de la ventana, es posible declarar el panel allí:
var console = {
panel: $(parent.document.body).append(''<div>''),
log: function(m){
this.panel.prepend(''<div>''+m+''</div>'');
}
};
console.log(''message'');