在站点 Chrome 扩展中捕捉 URL 变化

Catch URL change within site Chrome extension

我想在用户进入包含特定 RegEx 的 URL 页面时拦截用户。现在,在后台脚本中,我可以使用:

chrome.webNavigation.onBeforeNavigate.addListener(function (details) {
    chrome.tabs.update(details.tabId,{url: chrome.extension.getURL('popup.html')}, undefined);
}, { url: stopit });

数组 stopit 包含 JSON 个所有形式的对象:

{urlContains: "regex.x"}

当用户导航到新站点并使用浏览器顶部的栏时,这非常有效。这不包括用户导航到同一站点内的新页面时的情况。例如,用户使用 url 栏加载 reddit 主页。当他们转到 subreddits 时,url 发生变化,现在可能包含正则表达式。我将如何检查 url 此类事件?

chrome.webRequest.onBeforeRequest.addListener(function (details) {
      // your code
}, { url: stopit });