我正在使用angluarJS进行镀铬扩展,现在我有一个问题让我大脑烧伤。
我想获取数据,解析数据并将解析后的数据存储在后台页面的localStorage中,并在浏览器操作中获取该数据并在弹出的html中显示。现在我想抓住
重复解析和存储数据,如上所述[{3}},我使用chrome.alarms api来做到这一点,但它无法正常工作。
这是我在后台控制器中的代码:
app.controller('bgCtrl', function AlfredCtrl($scope, courseService) {
var setLocal = function(){
console.log("fired inside setLocal(), but out of getCourses()");
courseService.getCourses().then(function (events){
console.log("fired inside of getCourses()");
localStorage.setItem("deadlines", JSON.stringify(events.deadlines));
})
};
var delay = 1 ;
chrome.alarms.create("scheduleRequest", {periodInMinutes: delay});
chrome.alarms.onAlarm.addListener(function(alarm){
if(alarm.name == "scheduleRequest"){
console.log("fired out of setLocal()");
setLocal();
}
});
});
函数getCourses()从bg中的服务返回。当它被调用时,它将返回解析的数据。
当我在chrome dev工具中检查时,它会反复显示:
fired out of setLocal(). bgCtrl.js:32
fired inside setLocal(), but out of getCourses(). bgCtrl.js:7
也就是说,函数courseService.getCourses()根本不是callec。这就是我遇到的问题。
请帮助我!!
答案 0 :(得分:-1)
您可以添加"闹钟" manifest.json中的权限
这样您的应用就可以访问Chrome apis的闹钟功能
"权限":[ "警报&#34 ;, ... ... ],