2013-03-06 129 views
12

即時通訊使用console.log很多在我的JavaScript調試鼠標移動事件。我所遇到的問題是,在Chrome控制檯中不會遵循新條目。谷歌瀏覽器遵循開發者控制檯日誌

其在這些截圖中最好的說明:

第一批原木是很好的,因爲它大到足以看到所有在屏幕上:

enter image description here

幾秒鐘後: enter image description here

日誌已經過去了大小窗口要求我滾動。

這使得調試鼠標移動事件非常困難,因爲我不得不移動到控制檯並向下滾動,因此向日志中添加了更多條目。

所以我的問題是:我如何獲得鉻基本上尾巴日誌而不是停止,並要求我滾動。

+0

任何人都可以幫忙嗎? – DickieBoy 2013-03-07 14:42:48

+1

您可以將每個事件壓縮成信息對象,您可以在控制檯內擴展以獲取更多信息。此外,創建一個函數來檢測一個快捷鍵,以防止記錄臨時 – MackieeE 2013-03-11 09:58:44

+0

我曾想過做一個關鍵命令來停止日誌記錄。雖然我不太喜歡這個解決方案。 – DickieBoy 2013-03-11 12:47:12

回答

6

打開控制檯,將滾動條向下拖動到窗口底部並釋放它。它應該爲您輸出輸出。

花了我不少的嘗試,讓它在Version 27.0.1438.7 dev-m工作。但在Version 27.0.1440.0 canary中,它不僅自動發生,每次嘗試時都可以重新附加自動滾動。

你可以從here下載金絲雀。

+0

即時通訊使用'25.0.1364.172 stable'版本。 你的方法適用於這個版本幾個日誌記錄,然後鉻失去日誌,我會嘗試金絲雀版本。 – DickieBoy 2013-03-15 15:18:23

2

默認行爲是控制檯跟隨(尾部)日誌,因爲他們在那裏。

然而,我們不得不在這裏,如果你改變變焦倍數(CMD + +)它並不總是工作在DevTools的錯誤。

我們只是固定的https://codereview.chromium.org/180733003/你需要一小會兒金絲雀(從這個帖子的日期),但它會工作的方式,以穩定在10周左右。

+0

感謝您查看一個完整的一年的帖子:D我不記得使用縮放,當我在這個工作。我認爲這個問題是由於大量的日誌記錄正在進行。我有一段時間沒有必要對Chrome進行任何強烈的日誌記錄。當機會出現時,我會再次測試並根據需要更新帖子。 – DickieBoy 2014-03-06 13:14:47

2

這裏有一個相當有害的bug(在我記得的時候出現在Chrome中),如果你記錄任何類似DOM元素的擴展項或者其他類似的東西,它會顯示日誌,並導致滾動停止。

我解決了這個問題,應用了一點智慧,找到了違規的日誌,而且甚至不需要刪除日誌語句,只需使其變得「友好」即可。什麼工作很多時候是我採取任何此類日誌語句,如

console.log((mouse ? "mouse" : "touch") + " start on", jqtarg[0]); 

,敷在一個數組:

console.log([(mouse_not_touch ? "mouse" : "touch") + " start on", jqtarg[0]]); 

您可以嘗試做其他事情還有,企圖使日誌更可讀的,諸如對象(沒有測試任何的這種嚴格,它仍可能導致惱人的故障的滾動-如下):基於檢測的一個非常小的量

console.log({"mouse/touch start on": jqtarg[0]}); 

,它會似乎如果日誌附錄ars在日誌緩衝區中作爲一個可以直接懸停的項目(與需要先手動擴展它的項目相反),以使檢查員突出顯示DOM中的項目,然後可能會觸發「滾動鎖定綜合症狀」。

順便說一句,需要注意的一點是,如果您重複記錄完全相同的東西,Chrome會像下面這樣幫助「堆疊」它們:(請參閱?我通過將日誌推入對象來修復自動滾動! )

enter image description here

如果不基於精確座標真的需要看值,印刷粗糙的價值觀更多...粗略會導致更緊湊的日誌(這仍將會給你明智的反饋與計數)。

更新:有時這些都不起作用。有時候,你只是不幸運而已,你只需要清理所有不需要的日誌,並記錄最少量的信息,以防止過載並導致其無法向下滾動。

+0

Chrome 44至少在某些時候仍然存在這個問題 - 我只是用自動滾動來解決這個問題,並且從console.log()參數中刪除DOM元素也是爲我解決了這個問題。 – peterflynn 2015-08-26 06:01:39

相關問題