google-chrome-extension - 如何为 chrome 扩展正确写入新的 "event page"?

标签 google-chrome-extension

在新的 chrome 扩展 API 中,“背景页面”被替换为“事件页面”,这些页面在扩展安装时只加载一个,并且需要注册 chrome 在某些事件中调用的回调。

我想创建每秒执行我的代码的“事件页面”。我用“manifest.json”创建了一个扩展:

{
  "manifest_version" : 2,
  "name" : "myextension",
  "version" : "1.0.0",
  "background" : { "scripts" : [ "background.js" ], "persistent" : false }
}

和“background.js”:

function onTimer()
{
  console.log( "on timer" );
}

function onStartup()
{
  console.log( "on startup" );
  window.setInterval( onTimer, 1000 );
}

console.log( "script load" );
chrome.runtime.onStartup.addListener( onStartup );

安装扩展后,我可以在开发人员工具控制台中看到“脚本加载”,但看不到“启动时”和“定时器”:(。在我关闭并重新打开浏览器后,即使是“脚本加载”也看不到显示(这是预期的)。我做错了什么?

最佳答案

来自Google Event Pages API :

If your extension uses window.setTimeout() or window.setInterval(), switch to using the alarms API instead. DOM-based timers won't be honored if the event page shuts down.

看起来事件页面在破坏您的 setInterval() 函数。

关于google-chrome-extension - 如何为 chrome 扩展正确写入新的 "event page"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16125815/

相关文章:

google-chrome - Google 的 Webspeech 服务器是否限制了我的请求?有解决办法吗?

google-chrome-extension - MHTML 文件中的 Chrome 内容脚本注入(inject)

javascript - 在客户端的 Chrome 中使用 Javascript 创建文件

javascript - Chrome 扩展中的跨源 XMLHttpRequest

javascript - 使用 Chrome 扩展检测框架或字符串的语言?

javascript - iframe 未在特定类型的页面上加载其源代码 : XML and Chrome pages

javascript - 从 Javascript 访问 Chrome 的内部 gzip 例程

javascript - 如何从 chrome 扩展 webRequest api 获取引荐来源网址?

google-chrome-extension - Chrome 扩展程序 : add option to right click menu when clicking certain HTML element

javascript - 警报未出现在 chrome 扩展程序的 popup.html 中