我使用过滤事件注入我的内容脚本,而不是使用清单内容 - 脚本匹配规则。
当我导航到目标页面时,内容脚本不会始终运行,但有时只会运行。当它无法运行时,我刷新页面(有时不止一次),直到内容脚本开始。
为简单起见,我不想把我知道的代码放在工作中。当过滤器满足条件时,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);
所以我添加了onErrorOcurred,当页面无法加载时触发。但我仍然遗漏了一些东西,因为它不是每次都执行(但它会在刷新页面时执行)。
与其他许多页面一样,这个页面向控制台传递了大量错误消息。我想其中一些可能会阻止onDOMContentLoaded触发,但我认为它应该触发onErrorOcurred。我错过了一些活动吗?
使用过滤事件时,在我的许多不同扩展名和页面中都会发生这种情况。
非常感谢。