【发布时间】:2013-05-13 12:25:11
【问题描述】:
我的 chrome 扩展中有一个通知功能,由后台页面 (background.html) 管理 此页面调用 setNotificationDelay() 函数,该函数基本上是删除前一个计时器,然后是 setTimeOut。
function setNotificationDelay() {
clearNotificationTimer();
newDelay = getNotificationDelay()
notificationTimer = setTimeout(showNotification, newDelay);
}
}
我还有一个 options.html 页面,它允许配置通知时间。我想在修改配置时修改后台超时,但是当我从选项页面调用 setNotificationDelay() 时它不起作用,我认为这是因为定时器的范围附加到父页面。
如果我让选项页面打开,则会触发超时,如果我关闭它,则通知永远不会发生。
如何将此计时器附加到背景页面? 有没有更好的方法来实现它?
谢谢。
编辑:chrome.extension 有 getBackground 页面方法,它返回背景页面的窗口对象:
function setNotificationDelay() {
clearNotificationTimer();
newDelay = getNotificationDelay()
notificationTimer = chrome.extension.getBackgroundPage().setTimeout(showNotification, newDelay);
}
}
【问题讨论】:
标签: javascript google-chrome-extension settimeout