如何在页面BEGINS加载之前加载脚本:Chrome扩展程序

时间:2019-01-06 21:58:41

标签: javascript google-chrome-extension

我正在创建一个简单的Chrome扩展程序,如果我尝试访问“黑名单”上的网站,它将重定向我。

因此,我使用chrome.tabs.onUpdated,以便当我导航到使用A​​JAX请求的网站时,它将识别出该内容并运行我的脚本。

我的问题是页面在脚本完成之前开始部分加载并重定向我。

有什么方法可以在页面开始加载之前运行脚本?

background.js

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
    let blackList = [];
    let currentURL = '';
    let myURL = "https://keep.google.com";

    chrome.storage.sync.get('websites', function(data) {
      if (data !== undefined) {
        blackList = data['websites'];
      }
        urlCheck();
    });

    // checks if the current URL is in the black list
    function urlCheck() {
      chrome.tabs.getSelected(null, function(tab) {
        currentURL = tab.url.toLowerCase();
        blackList.forEach(function(website) {
          if (currentURL.includes(website)) {
            chrome.tabs.query({currentWindow: true, active: true}, function (tab) {
              chrome.tabs.update(tab.id, {url: myURL});
            });
          }
        });
    });
    }
})

0 个答案:

没有答案