2012-07-27 139 views
0

我不确定应该使用哪种技术,甚至不知道我正在尝试执行什么操作,因此我希望能够就此问题获得一些指导。与Chrome扩展程序的本地方法进行交互

我们有一个客户端/服务器架构,从客户端你应该能够通过从浏览器 - >客户端 - >服务器,或直接从浏览器发送命令到服务器端 - >服务器

我的问题是,我应该怎样帮助我完成这项任务?我相信如果我使用Chrome扩展程序,它将不得不使用NPAPI与本地PC进行交互,这比推荐的要少;)

该解决方案只需要在Windows上工作,并且不会访问任何的本地用户文件。

感谢您的帮助!

+1

你能举一个应用程序流程的例子吗?我没有看到你在找什么。 – 2012-07-27 13:43:20

+0

浏览器扩展 - >浏览器扩展上的按钮 - >以某种方式与本地/远程机器方法交互 - > ??? - >利润! 我希望这样做更清楚一点。基本上,如果我在客户端/服务器中提供一个API(无关哪一个),我怎样才能从浏览器与它进行交互? – 2012-07-27 17:40:29

+0

最简单的方法是使用您最喜欢的语言创建本地服务器,在确认后调用预定义的系统方法。 (如果没有基于白名单的验证方法,您应该*从不*执行用户输入)。 – 2012-07-27 19:44:41

回答

1

在Chrome扩展中,当且仅当您明确定义manifest文件中的权限(url模式)时,才允许您访问外部资源。

根据您的应用程序的需要,您可以使用RESTful服务器方法或WebSockets服务器方法。完成开发服务器后,您的扩展可以使用现有的Web技术(XmlHTTPRequest,WebSocket)通过它进行通信。

假设你打算使用RESTful,我会做的是创建一个JavaScript服务类/库,使用XHR与后端(服务器)进行通信,并将其包含在扩展中的background page中。然后,您可以使用扩展消息传递与您的服务类进行通信。

把它想象成这样,在你的扩展中的后台上下文中定义的脚本生活在你的扩展和你的服务器之间,就像一个门面。在GitHub/StackOverflow上搜索,如果您需要关于如何,有很多有用的帖子/项目的问题。

+0

非常感谢你这个有用的答案。肯定给了我一个很好的启动点在哪里看。 :) 非常感谢! – 2012-07-30 14:41:21

相关问题