Edu*_*scu 213 javascript json google-chrome
我尝试过使用JSON.stringify(object)
,但它不会影响整个结构和层次结构.
另一方面,console.log(object)
这样做,但我无法保存.
在console.log
输出中,我可以逐个扩展所有的孩子并选择和复制/粘贴,但结构是大的.
Pat*_*ick 281
更新: 您现在可以右键单击
右键单击"控制台"面板中的"另存为",将记录的消息保存到文件中.
原答案:
您可以使用下面显示的devtools代码段来创建console.save方法.它从输入创建一个FileBlob,然后自动下载它.
(function(console){
console.save = function(data, filename){
if(!data) {
console.error('Console.save: No data')
return;
}
if(!filename) filename = 'console.json'
if(typeof data === "object"){
data = JSON.stringify(data, undefined, 4)
}
var blob = new Blob([data], {type: 'text/json'}),
e = document.createEvent('MouseEvents'),
a = document.createElement('a')
a.download = filename
a.href = window.URL.createObjectURL(blob)
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':')
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
a.dispatchEvent(e)
}
})(console)
Run Code Online (Sandbox Code Playgroud)
资料来源:http://bgrins.github.io/devtools-snippets/#console-save
Bl1*_*zak 204
如果您记录了一个对象:
Store as a global variable
temp1
copy(temp1)
小智 123
您可以使用Chrome DevTools Utilities API copy()
命令将指定对象的字符串表示形式复制到剪贴板.
如果你有很多对象,那么你实际上可以JSON.stringify()你所有的对象,并继续将它们附加到一个字符串.现在使用copy()
方法将完整的字符串复制到剪贴板.
有一个开源的javascript插件就是这样 - debugout.js
Debugout.js记录并保存console.logs,以便您的应用程序可以访问它们.完全披露,我写了.它适当地格式化不同的类型,可以处理嵌套对象和数组,并且可以选择在每个日志旁边放置一个时间戳.它还可以在一个地方切换实时记录.
这对聚会来说确实很晚了,但也许会对某人有所帮助。我的解决方案似乎与 OP 描述的有问题的内容类似,但也许这是 Chrome 现在提供的功能,但当时不提供。\n我尝试在对象写入控制台后右键单击并保存 .log 文件,但是给我的只是一个文本文件:
\n\n\n\n\nconsole.js:230完成:数组(50000)[0 \xe2\x80\xa6 9999][10000 \xe2\x80\xa6 19999][20000 \xe2\x80\xa6\n 29999][30000 \xe2\x80\ xa6 39999][40000 \xe2\x80\xa6 49999]长度:50000__proto__:数组(0)
\n
这对任何人都没有用。
\n\n我最终做的是console.log(data)
在代码中找到 ,在其上放置一个断点,然后JSON.Stringify(data)
在控制台中键入,该控制台将整个对象显示为 JSON 字符串,并且 Chrome 控制台实际上为您提供了一个复制它的按钮。然后粘贴到文本编辑器中,这就是您的 JSON
归档时间: |
|
查看次数: |
192011 次 |
最近记录: |