我可以在我的主要AngularJS应用程序中嵌入Chrome扩展应用程序吗?

时间:2015-06-12 23:18:10

标签: javascript angularjs google-chrome-extension google-chrome-devtools

我一直在做很多阅读和学习以找出答案。

我基本上只想运行我的主要AngularJS应用程序,但也包括嵌入式Chrome扩展应用程序 - 在这种情况下,定期安排警报(使用chrome.alarm API)。

我希望我的AngularJS应用的所有用户都可以自动访问Chrome扩展程序应用程序,该应用程序嵌入在具有许多其他Angular功能的主客户端中。

似乎我必须在我的浏览器上以开发者模式手动启用我的Chrome应用,甚至将我的Chrome应用专门拖到Chrome浏览器中的某个位置。我不明白最终用户如何才能自动使用我的Chrome应用。

我需要在这里添加我从来没有真正使用过jQuery,只有AngularJS而是广泛使用AngularJS。我的AngularJS应用程序是前端,后端由Rails提供。

一些建议会非常有帮助。我希望我没有被投票,因为奇怪的是,有时问题会被低估,我不知道为什么......我真的不知道还有什么地方可以解决这个问题。

编辑:

一些代码可以证明:

myangularapp.controller('myappcontroller', function($scope, $http) {

var delayvar = 5;

 chrome.alarms.create("arandomalarm", {delay: delayvar});


};

这不仅仅是我的AngularJS的一部分,我也尝试在app / assets文件夹中创建一个manifest.json文件。以及那里的background.js文件和my-chrome-app.js文件。 " chrome.alarms"尚未定义,但我尚未启用开发者模式。但是,如果只是为了让我使用它,最终用户应该如何使用它?我需要做那么多特定的浏览器配置?

2 个答案:

答案 0 :(得分:2)

您应该查看Content Scripts,然后点击Message Passing,了解如何在网页和Chrome扩展程序之间进行通信。

答案 1 :(得分:1)

无法自动安装Chrome扩展程序。用户必须从chrome商店安装它。

通过从网页提供内联安装,您可以更轻松地安装它。它在官方文档中,您可以在此页面上看到一个示例,其中包含"添加到chrome"按钮:

http://plusfortrello.com(我的Chrome扩展程序之一,在该页面中有内联安装)。

如果用户不在Chrome桌面上,则会进一步自定义该示例按钮以显示消息。

如果您的分机还拥有您网页的权限,那么您也可以从您的网页中检测该分机是否已安装该分机(隐藏按钮,向其发送消息等)。