Google chrome extension onDOMContentLoaded并不总是激发

Google chrome extension onDOMContentLoaded并不总是激发,google-chrome-extension,Google Chrome Extension,我使用过滤事件而不是清单内容脚本匹配规则注入内容脚本 当我导航到目标页面时,内容脚本并不总是运行,只是有时运行。当它无法运行时,我会刷新页面(有时会多次),直到内容脚本启动 为了简单起见,我不想把我知道的代码放在工作中。当筛选器满足条件时,onDOMContentLoaded并不总是触发 var filtro = {'url': [ {hostSuffix: 'somedomain.com', pathPrefix: '/search'}, {hostSuffix: 'somedoma

我使用过滤事件而不是清单内容脚本匹配规则注入内容脚本

当我导航到目标页面时,内容脚本并不总是运行,只是有时运行。当它无法运行时,我会刷新页面(有时会多次),直到内容脚本启动

为了简单起见,我不想把我知道的代码放在工作中。当筛选器满足条件时,onDOMContentLoaded并不总是触发

var filtro = {'url': [
  {hostSuffix: 'somedomain.com', pathPrefix: '/search'}, 
  {hostSuffix: 'somedomain.org', pathPrefix: '/search'}
]};

chrome.webNavigation.onDOMContentLoaded.addListener(listener, filter);
chrome.webNavigation.onErrorOcurred.addListener    (listener, filter);
所以我添加了onerrorcurred,当页面加载失败时触发。但我仍然遗漏了一些东西,因为它不是每次都执行(但它在刷新页面时执行)

和许多其他页面一样,这一页向控制台发送了大量错误消息。我想其中的一些可能会阻止onDOMContentLoaded着火,但我认为它应该着火。我错过什么活动了吗

在使用过滤事件时,我会在许多不同的扩展名和页面中遇到这种情况


非常感谢。

您能提供一些示例页面,让我们重现这个问题吗?谢谢您的关注。在寻找一个好且简单的示例时,我发现OnErrorCorred输入错误(我上面的代码缺少“c”)。我将继续测试,如果它起作用,我将关闭此问题。请选择主题上的问题:包括重复该问题的问题。对于Chrome扩展或Firefox WebExtensions,这几乎总是意味着包括manifest.json和一些背景、内容和/或弹出脚本/HTML。寻求调试帮助的问题(“为什么这段代码没有按我想要的方式工作?”)必须包括:(1)所需的行为,(2)特定的问题或错误,(3)在问题本身中重现它所需的最短代码。另请参见:、和。您需要在添加
DOMContentLoaded
之前检查
document.readyState
,以查看
load
事件是否已触发。