您认为可以在Google Chrome扩展程序中嵌入HTTP服务器吗?
我已经看到其他Google Chrome扩展程序执行本机代码,并且显然他们使用NPAPI来执行此操作,但我不知道那是什么。它真的吓坏了我,因为我不是C ++专家或类似的东西。所以我觉得现在有点卡住,这就是我寻求帮助的原因。
具体来说,我想为Chrome创建一个功能类似于Opera Unite的扩展程序。对于那些不知道我在说什么的人:Opera Unite基本上是一个与浏览器捆绑在一起的零配置Web服务器。我不想将它用于Opera所做的事情,但我喜欢这个概念。
我正在考虑在浏览器中使用类似node.js的内容来创建一个简单的Web界面来控制浏览器中的某些内容。可以将其视为浏览器的遥控器。如果node.js不可能,我想使用lighthttpd或类似的东西。只要技术允许我通过HTTP接收命令,该技术就无所谓了。
但是如何使用现有的Web服务器并从中制作NPAPI插件?
澄清:我希望任何浏览器都能与我的扩展程序进行通信。特别是我希望Android或iPhone等移动设备能够远程控制浏览器。除了使用HTTP服务器之外,还有其他方法可以实现吗?
另一个更新:我认为最简单的方法是在网络上使用中继服务器,如Pusher或自行创建的服务。但我不喜欢这种方法,因为它需要不断上网,因为它是付费服务。
谢谢大家!
答案 0 :(得分:3)
如果您想对浏览器进行远程控制,那么像HTML5 WebSockets这样适合您吗?
http://www.html5rocks.com/tutorials/websockets/basics/
您可以通过WebSockets使用扩展程序监听的外部“远程”服务器。如果您想通过扩展程序托管网络服务器。您需要使用NPAPI,有许多C ++库(谷歌搜索)可以做一个简单的网络服务器。但我宁愿使用WebSockets与外部服务器通信,这将为您提供任何您想要的东西。
但如果你坚持,你需要学习C ++,NPAPI,网上有很多关于NPAPI的例子。
答案 1 :(得分:3)
这是另一个使用chrome.socket:https://github.com/kzahel/web-server-chrome实现的Web服务器。在chrome-app-samples中链接到的服务器示例实际上非常错误,并且如果您在按住Ctrl-R在其提供的页面上。
答案 2 :(得分:2)
以下是有关在Chrome应用中制作网络服务器的信息: https://developers.google.com/live/shows/7320022-5001