gpt4 book ai didi

javascript - 如何下载 chrome.devtools.network.getHAR 以 .har 形式返回的对象?

转载 作者:行者123 更新时间:2023-11-28 03:20:03 27 4
gpt4 key购买 nike

我正在使用chrome.devtools.network.getHAR从站点获取har日志。但是,我不知道如何将其转换为正确的 .har 文件并下载它。我可以使用 JSON.stringify(harLog) 转换为 BLOB、下载文件并将其作为 JSON 查看,但我希望能够下载文件并能够打开 .har使用 .har 查看器(如 Chrome 网络选项卡)从下载文件夹中打开文件。

这是我迄今为止的代码:

chrome.devtools.network.getHAR(
function (harLog) {

let harBLOB = new Blob([harLog]);

let url = URL.createObjectURL(harBLOB);

chrome.downloads.download({
url: url,
filename: "test.har"
});
});

使用该代码,它会下载包含以下内容的文本文件;

[object Object]

解决方案

查看从 chrome 开发工具生成的 .har 文件后,我注意到它遵循以下格式

{
"log": {
"version": "1.2",
"creator": {
...
},
...
}

而 JSON.stringify(harLog) 会给我

{
"version": "1.2",
"creator": {
...
},
...
}

将 harLog 对象分配给对象的键:log 并将其字符串化后,我能够将文件下载导入到 Chrome 开发工具网络选项卡中。

工作代码

chrome.devtools.network.getHAR(
function (harLog) {
let updatedHarLog = {};
updatedHarLog.log = harLog;

let harBLOB = new Blob([JSON.stringify(updatedHarLog)]);

let url = URL.createObjectURL(harBLOB);

chrome.downloads.download({
url: url,
filename: "test"
});
}
);

最佳答案

首先谢谢wOxxOm使用 JSON.stringify()

引导我走向正确的方向

解决方案

查看从 chrome 开发工具生成的 .har 文件后,我注意到它遵循以下格式

{
"log": {
"version": "1.2",
"creator": {
...
},
...
}

而 JSON.stringify(harLog) 会给我

{
"version": "1.2",
"creator": {
...
},
...
}

将 harLog 对象分配给对象的键:log 并将其字符串化后,我能够将文件下载导入到 Chrome 开发工具网络选项卡中。

工作代码

chrome.devtools.network.getHAR(
function (harLog) {
let updatedHarLog = {};
updatedHarLog.log = harLog;

let harBLOB = new Blob([JSON.stringify(updatedHarLog)]);

let url = URL.createObjectURL(harBLOB);

chrome.downloads.download({
url: url,
filename: "test"
});
}
);

关于javascript - 如何下载 chrome.devtools.network.getHAR 以 .har 形式返回的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59243885/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com