浏览器启动时的Chrome扩展程序操作

时间:2013-11-17 05:22:41

标签: javascript google-chrome events google-chrome-extension

我有一个运行各种内容和后台脚本的chrome扩展程序,我很好奇是否有一个"浏览器启动"行动我可以倾听并采取行动......

例如在我的应用程序中,我在每个页面加载时都运行了一些基本脚本(在内容脚本中);但如果只有在浏览器首次打开时才能运行某个操作,那么效率会更高。

我一直在四处寻找想要找到的东西,但却找不到类似的东西。任何指导或协助将不胜感激。提前感谢您的时间。

3 个答案:

答案 0 :(得分:4)

我建议你阅读背景页面。 https://developer.chrome.com/extensions/background_pages.html

简而言之,每个扩展程序只存在一次后台页面,当您创建新选项卡时,仍然只有一个实例运行。

答案 1 :(得分:3)

在您的清单文件中,您在“后台”中定义的文件将在“扩展级别”运行。这或多或少是浏览器级别(即不是每个标签页)。

您的清单文件应包含以下内容:

  "background": {
    "scripts": ["extension.js"]
  },

现在,在浏览器启动时,extension.js中的任何内容都会运行一次。您无需在代码中明确监听事件,浏览器会在加载您的扩展程序后立即运行该事件。您可以在extensions.js中放置console.log('started')或其他内容,然后检查“后台页面”(从扩展页面)控制台,看看它确实只运行一次。

答案 2 :(得分:3)

David Glibertson的答案对我不起作用。

onStartup works

chrome.runtime.onStartup.addListener(function() {
  console.log('open');
})