我正在设计一个Web应用程序,其中包含一些需要传输到客户端(非浏览器)应用程序(即Outlook)的信息。假设客户端应用程序具有某种类型的API,我需要Web应用程序触发客户端(基于用户单击链接)以获取信息并通过其API将其传输到客户端应用程序。
我的第一个想法是写一个ActiveX控件,我可以传递一个安全的代码然后使用该信息通过我创建的Web服务与Web应用程序对话,然后ActiveX控件可以实现接口到客户端应用程序(即Outlook)。根据我所读到的内容,这可以用于ActiveX。
我的问题是ActiveX无法在Mozilla浏览器或Chrome中运行,这会带来真正的问题,因为我需要将其作为多平台。我读过NPAPI,据说这是一种平等的原生技术。我还阅读了关于Firefox和Chrome的插件,据说这些插件支持ActiveX,但它们不是原生的。我需要开箱即用的支持,这样用户就不必做任何特别的事情,只需点击并运行即可。所以这是我的问题:
1)ActiveX是IE的唯一选择吗?
2)我是否需要开发ActiveX和NPAPI来支持所有客户?
3)有没有更好的方法来做到这一点,我不知道?我对其他技术持开放态度,因为我们专注于无缝的用户体验。
感谢您的任何见解!
答案 0 :(得分:0)
我担心你的一个可能的解决方案是为你希望这个应用程序使用的每个浏览器开发一个插件,就像谷歌用齿轮做的那样
然而你总是可以尝试使用java applet来做这个技巧,但我不知道浏览器安全策略是否允许你与outlook等应用程序通信,我相信它会
欢呼声
答案 1 :(得分:0)
如果我理解你的要求,我认为没有什么是无缝的。您需要将某种模块下载到可以访问其本地系统资源的客户端计算机上。任何体面的浏览器都会向用户发出惊恐的警告。
答案 2 :(得分:0)
根据您传输的信息类型,您可以在下载时让Outlook打开并处理它。例如,Outlook通常被设置为.ics(Internet日历)文件的默认应用程序。当我下载.ics文件时,Outlook将启动,并将该文件作为日历条目打开。
因此,一个疯狂的想法是编写用户将在其系统上安装的小应用程序。该应用程序将被注册为您的唯一文件类型的默认程序。如果要传输信息,只需将文件作为附件下载。您的程序将被调用以处理它。然后,您的程序可以使用Outlook API以您需要的任何方式将数据发送到Outlook。
如果交互不适合单个文件,您仍然可以使用虚拟文件。它的目的是启动您的小型客户端程序并给出指示。然后,您的程序可以通过另一方的Outlook API与您的Web服务进行通信。您可以在该环境中执行任何您喜欢的操作,尤其是在您还创建Outlook加载项的情况下。
我还没有为多个版本完成Outlook编程。使用Outlook 2007和Visual Studio Tools for Office,您可以将这些部分组合在一起。主要的好处是您根本不需要担心浏览器。
答案 3 :(得分:0)
ActiveX仅适用于IE,但NPAPI适用于Firebreath,Chrome等。
您可以使用FireBreath项目,该项目提供了一个相对易于使用的抽象,用于创建单个插件接口,该接口将用作ActiveX控件或NPAPI控件。
项目主页位于:http://www.firebreath.org
尽管缺少官方发布,但它真的非常接近1.0版本的Windows版本;它听起来就像你关心的一样。
对于“quickstart”信息,请查看此Wiki页面:http://www.firebreath.org/display/documentation/Creating+a+New+Plugin+Project - 有一个python脚本将生成一个示例项目,您可以使用基本插件在大约30分钟内启动并运行。< / p>
另外,加入邮件列表 - 我是主要的开发人员,我向您保证,如果您有问题,我们会立即回答您的问题。 =]