Javascript 自动更改图标chrome扩展

Javascript 自动更改图标chrome扩展,javascript,angularjs,google-chrome-extension,Javascript,Angularjs,Google Chrome Extension,我使用此代码更改图标: Popup.html {{setMyIcon(vm.URL2)}} 剧本 $scope.setMyIcon=function(nameIcon){ chrome.browserAction.setIcon({ path: nameIcon }); } 但是,只有在单击扩展图标后(在默认设置之前),图标才会更改。如何自动完成 我用定时器试过了,但没用 背景js chrome.alarms.onAlarm.addListener(function

我使用此代码更改图标: Popup.html

{{setMyIcon(vm.URL2)}}  
剧本

 $scope.setMyIcon=function(nameIcon){
       chrome.browserAction.setIcon({ path: nameIcon });
   }
但是,只有在单击扩展图标后(在默认设置之前),图标才会更改。如何自动完成

我用定时器试过了,但没用

背景js

chrome.alarms.onAlarm.addListener(function( alarm ) {
   chrome.browserAction.setIcon({ path: nameIcon  });
   chrome.alarms.create({'delayInMinutes': 1});
   location.reload();
});

chrome.alarms.create({'delayInMinutes': 1});
现在我尝试从处理器函数timers basic脚本调用。 但是如何传递位于被调用文件(weather.js中的vm.URL2)中的变量呢? 现在图标不会改变

    chrome.alarms.onAlarm.addListener(function( alarm ) {
  // события по будильнику.
  console.log("Got an alarm!");
   alert('great1');
   chrome.browserAction.setIcon({ path: nameIcon  });
   chrome.alarms.create({'delayInMinutes': 1});
     document.getElementById('$http(request)').src='weather.js'
     chrome.runtime.getBackgroundPage('setMyIcon({{vm.URL2}})').src='weather.js'
  });

1) 当前,当浏览器启动您的扩展时会设置报警,这发生在浏览器启动时,或者在事件页面中,当单击图标2)位置时。在后台脚本中重新加载没有意义,因为它会重新加载后台页面-请参阅扩展架构文档。3) 因此,问题是,在什么条件下,您希望“自动”更改图标?请将问题放在主题上:包括一个复制问题的完整内容。包括manifest.json、一些后台/内容/弹出脚本/HTML。寻求调试帮助的问题(“为什么此代码不工作?”)必须包括:►想要的行为,►特定的问题或错误,以及►在问题本身中复制它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:“如何创建”,以及。我建议您阅读(可能还包括概述中链接的页面)。具有总体架构信息,这将有助于您了解事物通常是如何组织/完成的。如果没有manifest.json,我们无法知道,但基于一些假设:您似乎试图更改与popup.html相关联的代码。当然,除非弹出窗口存在,否则这不会起任何作用,因为除非用户可以看到弹出窗口(通常通过用户单击浏览器操作或页面操作图标),否则代码不会运行。对于您的其他代码,首先要考虑的是:在不使用
location.reload()的情况下尝试它。为了让我们真正回答您的问题,我们需要一个complte,但这与问题的重复性很小。Manifest-我试图这样做是为了扩展图标(并且为了好和请求),在一段时间后会自动更新。