Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Browser 如何从chrome扩展中检测页面预加载?_Browser_Google Chrome Extension_Monitoring - Fatal编程技术网

Browser 如何从chrome扩展中检测页面预加载?

Browser 如何从chrome扩展中检测页面预加载?,browser,google-chrome-extension,monitoring,Browser,Google Chrome Extension,Monitoring,我构建了一个扩展,它跟踪浏览器会话中加载的所有页面。最近,我开始在我的日志中看到额外的页面,这些页面实际上没有在浏览器上呈现 我试图了解更多信息,了解到这些网站使用的是浏览器的“页面预加载”功能。基本上,如果您使用preload选项指定一个link标记,那么关联的页面将在后台以静默方式加载()。对于这些页面,四个chrome.webNavigation事件中有三个被触发-onbeforeavigate、onCommitted和onDOMContentLoaded。我还研究了onCommitted

我构建了一个扩展,它跟踪浏览器会话中加载的所有页面。最近,我开始在我的日志中看到额外的页面,这些页面实际上没有在浏览器上呈现

我试图了解更多信息,了解到这些网站使用的是浏览器的“页面预加载”功能。基本上,如果您使用preload选项指定一个link标记,那么关联的页面将在后台以静默方式加载()。对于这些页面,四个
chrome.webNavigation
事件中有三个被触发-
onbeforeavigate
onCommitted
onDOMContentLoaded
。我还研究了
onCommitted
事件的
transitionQualifier
,但没有提供足够的信息来挑出页面预加载

关于如何检测页面未按传统意义加载,而是预加载,有什么想法吗


此外,如果有人知道如何通过命令行开关禁用Chrome中的页面预加载功能,我可能只会阻止所有预加载,我的扩展仍然可以工作。

这是HTML5规范的一部分,因此没有办法禁用它,更多信息请参阅。通过检查onBeforeNavigate的details参数中的
tabId
是否为
-1
,可以检测到它,否则这是一个可以报告的错误。不幸的是,这不起作用。对于我的背景页面预加载,我将tabId作为一个正整数值。“我的背景页面也预加载”-你的确切意思是什么?我的意思是我有意识地访问一些页面。我可以看到这些页面通过浏览器呈现。同时,浏览器会在后台“预加载”一些页面,假设这些页面可能会被访问。从onBeforeNavigate或navigationCommitted事件的任何字段中,我都无法区分这两个字段。显然,这是因为从浏览器的角度来看,这是完全相同类型的活动。