2013-03-06 91 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

相关问题