3

在新的 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 );

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

4

1 回答 1

3

Google 事件页面 API

如果您的扩展程序使用 window.setTimeout() 或 window.setInterval(),请改用警报 API。如果事件页面关闭,则不会使用基于 DOM 的计时器。

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

于 2014-02-14T07:15:46.113 回答