1

我正在设计一个 Web 应用程序,其中包含一些需要传输到客户端(非浏览器)应用程序(即 Outlook)的信息。假设客户端应用程序具有某种 API,我需要 Web 应用程序触发客户端(基于用户单击链接)以获取信息并通过其 API 将其传输到客户端应用程序。

我的第一个想法是编写一个 ActiveX 控件,我可以将安全代码传递给该控件,然后使用该信息通过我创建的 Web 服务与 Web 应用程序对话,然后 ActiveX 控件可以将接口实现到客户端应用程序中(即展望)。根据我所阅读的内容,这对于 ActiveX 是可行的。

我的问题是 ActiveX 无法在 Mozilla 浏览器或 Chrome 中运行,这会带来真正的问题,因为我需要它是多平台的。我读过关于 NPAPI 的文章,它被认为是等效的本机技术。我还阅读了有关据称支持 ActiveX 的 Firefox 和 Chrome 插件,但它们不是本机的。我需要有原生的开箱即用支持,这样用户就不必做任何特别的事情,只需单击并运行。所以这是我的问题:

1) ActiveX 是我唯一的 IE 选择吗?

2) 我需要开发 ActiveX 和 NPAPI 来支持所有客户端吗?

3)有没有更好的方法来做到这一点,我不知道?我对其他技术持开放态度,因为重点是无缝的用户体验。

感谢您的任何见解!

4

4 回答 4

0

恐怕您可能的解决方案之一是为您希望此应用程序使用的每个浏览器开发一个插件,就像谷歌对齿轮所做的那样

但是,您始终可以尝试使用 java 小程序来解决问题,但我不知道浏览器安全策略是否允许您与诸如 Outlook 之类的应用程序对话,我相信它会

干杯

于 2009-04-11T21:45:41.717 回答
0

如果我正确理解您的要求,我认为任何事情都不会是无缝的。您需要将某种模块下载到可以访问其本地系统资源的客户端计算机上。任何体面的浏览器都会向用户抛出可怕的警告。

于 2009-04-11T21:47:08.360 回答
0

根据您传输的信息类型,您可以让 Outlook 在下载时打开并处理它。例如,Outlook 通常设置为 .ics(Internet 日历)文件的默认应用程序。当我下载 .ics 文件时,Outlook 将启动,并将该文件作为日历条目打开。

因此,一个疯狂的想法是编写一个用户将安装在他们的系统上的小应用程序。该应用程序将注册为您的独特文件类型的默认程序。当您要传输信息时,只需将文件作为附件下载即可。您的程序将被调用来处理它。然后,您的程序可以使用 Outlook API 以您需要的任何方式将数据发送到 Outlook。

如果交互不适用于单个文件,您仍然可以使用虚拟文件。其目的是启动您的小型客户端程序并为其提供说明。然后,您的程序可以在一侧与您的 Web 服务进行通信,并在另一侧通过 Outlook API 进行通信。您可以在该环境中做任何您喜欢的事情,尤其是如果您还创建了 Outlook 加载项。

我还没有为几个版本做过 Outlook 编程。有可能使用 Outlook 2007 和 Visual Studio Tools for Office,您可以组合其中的一些部分。主要好处是您根本不需要担心浏览器。

于 2009-04-11T22:26:16.503 回答
0

ActiveX 仅适用于 IE,但 NPAPI 适用于 Firebreath、Chrome 等。

您可以使用 FireBreath 项目,该项目提供了一个相对容易使用的抽象来创建单个插件接口,该接口将用作 ActiveX 控件或 NPAPI 控件。

项目主页在这里:http ://www.firebreath.org

尽管没有正式发布,但它确实非常接近 1.0 仅 Windows 版本;这听起来像是你所关心的。

有关“快速入门”的信息,请查看此 wiki 页面:http ://www.firebreath.org/display/documentation/Creating+a+New+Plugin+Project—— 有一个 python 脚本可以生成一个示例项目,你使用基本插件可能在 30 分钟内启动并运行。

Also, join the mailing list -- I'm the primary developer, and I assure you that we will answer queries promptly if you have problems getting started. =]

于 2009-12-25T05:23:32.483 回答