来自Chrome扩展程序后台脚本的AngularJS

时间:2014-10-24 18:48:59

标签: angularjs google-chrome-extension

鉴于Angular与视图绑定并在主扩展视图中引导,我认为简单的答案是"不,不可能",但是想确认,因为我无法找到任何地方的确定答案。

我的使用案例是,扩展程序将轮询来自API的更新内容,并在找到时更新扩展程序的徽章;我希望能够从扩展程序的Angular代码库中重用我的API服务。

如果不可能,建议使用Angular扩展和后台脚本之间共享代码的变通方法吗?

1 个答案:

答案 0 :(得分:9)

感谢输入@Xan,@ harish - 根据您的反馈做了一些调查并获得了解决方案。本质上,我指向一个后台HTML页面,而不是指向Chrome清单中的后台脚本,然后我用它来引导我的Angular应用程序。相关代码:

的manifest.json:

...
"background": {
    "page": "/app/background.html"
}
...

<强> background.html

<!DOCTYPE html>
<html lang="en" ng-app="MyApp" ng-csp>
    <head>
        <title>Background Page</title>
        <meta charset="UTF-8">
        <script type="text/javascript"
            src="/app/components/angular/angular.js"></script>
        <script type="text/javascript"
            src="/app/scripts/background.js"></script>
    </head>
    <body></body>
</html>

<强> background.js

var app = angular.module('MyApp', []);

app.run(function() {
  console.log('Hello world');
});