我有一个运行各种内容和后台脚本的chrome扩展程序,我很好奇是否有一个"浏览器启动"行动我可以倾听并采取行动......
例如在我的应用程序中,我在每个页面加载时都运行了一些基本脚本(在内容脚本中);但如果只有在浏览器首次打开时才能运行某个操作,那么效率会更高。
我一直在四处寻找想要找到的东西,但却找不到类似的东西。任何指导或协助将不胜感激。提前感谢您的时间。
答案 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的答案对我不起作用。
chrome.runtime.onStartup.addListener(function() {
console.log('open');
})