Google chrome extension chrome.devtools.network.getHAR返回0个条目

Google chrome extension chrome.devtools.network.getHAR返回0个条目,google-chrome-extension,google-chrome-devtools,Google Chrome Extension,Google Chrome Devtools,我正在尝试构建一个chrome插件,在这里我需要捕获网页上触发的所有网络请求。我已经看过文件了@ 我正在使用 chrome.devtools.network.getHAR( function(harLog) { alert(harLog.entries.length); }); 但每次我都得到0个条目,即使我尝试先打开面板并刷新网页。如果我遗漏了什么,能不能请一些人帮忙 我正在使用任何网页来测试这一点,例如,并已将清单中的权限设置为 "permissions"

我正在尝试构建一个chrome插件,在这里我需要捕获网页上触发的所有网络请求。我已经看过文件了@

我正在使用

    chrome.devtools.network.getHAR(
    function(harLog) {
        alert(harLog.entries.length);

});
但每次我都得到0个条目,即使我尝试先打开面板并刷新网页。如果我遗漏了什么,能不能请一些人帮忙

我正在使用任何网页来测试这一点,例如,并已将清单中的权限设置为

"permissions": [
    "http://*/*",
    "https://*/*"
  ]

您可以侦听请求并根据tabId字段进行过滤。当然,您需要跟踪活动选项卡,每个窗口一个选项卡。 例如:

用于根据widnow侦听活动选项卡中的更改,并将选项卡ID存储在局部变量中

用于停止跟踪已关闭窗口的选项卡

为适合您的目的的任何事件注册侦听器。例如,要在一个活动选项卡中的任何请求准备好发送后立即收到通知,请注册一个侦听器

下面是一个示例扩展的源代码,它正是这样做的

manifest.json:

background.js:


您可以侦听请求并根据tabId字段进行过滤。当然,您需要跟踪活动选项卡,每个窗口一个选项卡。 例如:

用于根据widnow侦听活动选项卡中的更改,并将选项卡ID存储在局部变量中

用于停止跟踪已关闭窗口的选项卡

为适合您的目的的任何事件注册侦听器。例如,要在一个活动选项卡中的任何请求准备好发送后立即收到通知,请注册一个侦听器

下面是一个示例扩展的源代码,它正是这样做的

manifest.json:

background.js:


在阅读HAR之前,您需要等待页面下载完成。试着这样做:

var interval = setInterval( function() {
                   clearInterval(interval);
                   chrome.devtools.network.getHAR(
                          function(harLog) {
                              alert(harLog.entries.length);
                          });               
                    }, 5000 );

这将在读取HAR之前等待5秒钟。

在读取HAR之前,您需要等待页面下载完成。试着这样做:

var interval = setInterval( function() {
                   clearInterval(interval);
                   chrome.devtools.network.getHAR(
                          function(harLog) {
                              alert(harLog.entries.length);
                          });               
                    }, 5000 );

这将在读取HAR之前等待5秒钟。

为什么要使用devtools?似乎是一个更有用的方法。嘿,专家系统,这一个很有用。但是,是否仍然可以只读取当前活动选项卡的网络请求?我面临的问题是当前活动选项卡将无法从背景页中得知。。。和特定于pageActionUI的popup.js文件无法为网络请求附加侦听器。下面给出的示例给出了一个很好的理解。谢谢你的帮助works@ExpertSystem:很高兴你的回答满足了OP的需要。但是使用chrome.devtools.network的一个原因是获取请求的全部细节。谷歌正在讨论增加webRequest返回响应正文的功能,但目前这是不可能的。webRequest需要3个不同的侦听器才能获取请求头、请求正文和响应头-您无法像预期的那样从chrome.webRequest.onComplete.addListener获取所有3个侦听器。为什么要使用devtools?似乎是一个更有用的方法。嘿,专家系统,这一个很有用。但是,是否仍然可以只读取当前活动选项卡的网络请求?我面临的问题是当前活动选项卡将无法从背景页中得知。。。和特定于pageActionUI的popup.js文件无法为网络请求附加侦听器。下面给出的示例给出了一个很好的理解。谢谢你的帮助works@ExpertSystem:很高兴你的回答满足了OP的需要。但是使用chrome.devtools.network的一个原因是获取请求的全部细节。谷歌正在讨论增加webRequest返回响应正文的功能,但目前这是不可能的。webRequest需要3个不同的侦听器才能获取请求头、请求正文和响应头-您无法像人们所期望的那样从chrome.webRequest.onComplete.addListener获取全部3个侦听器。谢谢,它帮助我成功创建了chrome扩展。谢谢,它帮助我成功创建了chrome扩展。
var interval = setInterval( function() {
                   clearInterval(interval);
                   chrome.devtools.network.getHAR(
                          function(harLog) {
                              alert(harLog.entries.length);
                          });               
                    }, 5000 );