Search code examples
javascriptgoogle-chromegoogle-chrome-extension

Chrome Extension: Make it run every page load


I want to make a chrome extension that executes some scripts after one page is loaded, I am not sure whether I have to implement this logic on the background page or it can be anywhere else, any help here will be greatly appreciated.


Solution

  • From a background script you can listen to the chrome.tabs.onUpdated event and check the property changeInfo.status on the callback. It can be loading or complete. If it is complete, do the action.

    Example:

    chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
      if (changeInfo.status == 'complete') {
    
        // do your things
    
      }
    })
    

    Because this will probably trigger on every tab completion, you can also check if the tab is active on its homonymous attribute, like this:

    chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
      if (changeInfo.status == 'complete' && tab.active) {
    
        // do your things
    
      }
    })