Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript chrome.alarms api不';我不能和angularJS一起正常工作_Javascript_Html_Google Chrome Extension_Angularjs - Fatal编程技术网

Javascript chrome.alarms api不';我不能和angularJS一起正常工作

Javascript chrome.alarms api不';我不能和angularJS一起正常工作,javascript,html,google-chrome-extension,angularjs,Javascript,Html,Google Chrome Extension,Angularjs,我正在使用angluarJS开发一个chrome扩展,现在我遇到了一个让我头疼的问题。 我想抓取数据,解析该数据并将解析后的数据存储在后台页面的localStorage中,然后在浏览器操作中获取该数据并在弹出式html中显示该数据。现在我想抓住 ,重复解析和存储数据,如前所述,我使用chrome.alarms api来完成这项工作,但它不能正常工作 以下是我在后台控制器中的代码: app.controller('bgCtrl', function AlfredCtrl($scope, cours

我正在使用angluarJS开发一个chrome扩展,现在我遇到了一个让我头疼的问题。
我想抓取数据,解析该数据并将解析后的数据存储在后台页面的localStorage中,然后在浏览器操作中获取该数据并在弹出式html中显示该数据。现在我想抓住
,重复解析和存储数据,如前所述,我使用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()函数根本没有被调用。这就是我遇到的问题

请帮帮我

您可以在manifest.json中添加“报警”权限

这样你的应用程序就可以访问ChromeAPI的报警功能

“权限”:[ “警报”, ... ...
],

如果这是原因,它肯定会出现不同的错误。您仍然对这个问题感兴趣吗?我对此非常感兴趣。