替代NPAPI插件的方案

7
NPAPI正在被Chrome逐步淘汰。有哪些替代方案可用于编写具有跨浏览器支持的类似NPAPI的浏览器插件?我需要编写一个浏览器插件,该插件可以与安装在桌面上的应用程序进行通信。我的环境是这样的,我有一个桌面应用程序和一个Web版本的相同应用程序。这两个应用程序需要通信。我的要求不仅仅是简单的消息传递。我需要首先确定桌面应用程序是否已安装。我通过查找Windows注册表中的安装信息来完成此操作,如果已安装,则与应用程序交互并交换消息。
2个回答

6

由于设计上的原因,没有一个单一的NPAPI插件可以替代所有可能的插件(同样的东西使NPAPI能够做任何事情,也使它不安全且不可移植),除了Web平台本身,没有跨浏览器的解决方案。

您应该查看弃用指南的指针列表;考虑到您想要做的是与应用程序通信,本机消息传递可能是您想要的。


3
我通过彻底放弃NPPAPI插件并设计基于WCF的Web服务器来解决了问题。我的需求是需要访问Windows注册表、文件系统等,并与在我的计算机上运行的进程建立通信渠道以交换消息。以前,我使用的是基于NPPAPI的COM插件,它可以为我完成所有工作。由于对NPPAPI的支持越来越少,我不得不寻找其他方法。
我设计了一个基于WCF的服务,作为Web服务器控制台应用程序公开。我将此应用程序安装在计算机上,并通过Ajax调用与其通信。这是跨域通信,因此我需要在调用请求/响应中设置适当的标头。
由于该服务封装在Web服务器控制台应用程序中,因此我可以通过XHR与之通信。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接