0
IE有一個功能,忽略通過console.log()
的所有輸出,直到我按F12或以其他方式打開Developer Tools。從那時起,即使關閉開發工具一段時間,控制檯中的所有輸出都會保留。如何配置IE以在我的頁面加載後立即開始記錄?
有沒有辦法強制IE保持控制檯輸出從一開始?無需打開開發人員工具?
我使用的是IE 11
IE有一個功能,忽略通過console.log()
的所有輸出,直到我按F12或以其他方式打開Developer Tools。從那時起,即使關閉開發工具一段時間,控制檯中的所有輸出都會保留。如何配置IE以在我的頁面加載後立即開始記錄?
有沒有辦法強制IE保持控制檯輸出從一開始?無需打開開發人員工具?
我使用的是IE 11
完成更新:
這裏是的jsfiddle劇本我昨天建成的重新編寫的版本:
版本低於不包含調試跟蹤,而JsFiddle version呢。
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);
問題是IE11實際上有一個console.log
方法的實現,它似乎沒有做任何事情。我把一些額外的測試
window.console.log.toString()的indexOf( '本機代碼')!== -1
這要是什麼console.log
包含通話時不開放 F12 Devtools。
儘管如此,執行console.log烏斯停止工作,當你打開它後關閉Devtools ...
我的問題是,IE瀏覽器會忽略所有來電CONSOLE.LOG直到我打開開發工具的第一次。我對其他地方沒有興趣。如果事實證明通過AJAX將日誌消息發送到服務器是唯一的解決方法,我會記住這一點。 –
這是一個[已知的錯誤](http://stackoverflow.com/questions/3326650/console-is-undefined-error-for-internet-explorer),我看到的唯一方法是緩衝對控制檯的調用。開發工具打開之前的日誌;我做了一個提琴手草案[這裏](https://jsfiddle.net/jaymz666/ahnyfpwj/14/) – bsoulier
我沒有得到錯誤。 console.log()只是沒有做任何事情。我已經分叉小提琴:https://jsfiddle.net/9qex9o09/隨着IE 11,在輸出窗口等待託託4,然後打開開發工具。你只會在控制檯中看到「Todo 4」,Toto 1..3將會丟失。 –