Complete Update:
Here is a re-written version of the JsFiddle script I built yesterday:
The version below does not contains debug traces, whereas the JsFiddle version does.
var bufferedConsoleCalls = [];
window.bufferedConsoleLog = function(message) {
var consoleMethod = window.console.log.toString();
if (consoleMethod.indexOf('native code') !== -1) {
bufferedConsoleCalls.push(message);
}
else {
if (bufferedConsoleCalls.length > 0) {
console.log('previous buffered calls :');
console.log(bufferedConsoleCalls);
bufferedConsoleCalls = [];
}
console.log(message);
}
}
// sample code added to generate console entries.
// remove lines below when used for real scenarios.
var count = 1;
setInterval(function() {
// Simulated call from page, calling bufferedConsoleLog instead of console.log
bufferedConsoleLog('Log' + count);
count ++;
}, 1000);
The issues was that IE11 actually has an implementation of console.log
method, which does seem not do anything. I put some extra test
window.console.log.toString().indexOf('native code') !== -1
which if what console.log
contains when call without opening the F12 Devtools.
Still, console.log ust stops working when you close Devtools after opening it...