移植ActiveX控件以在多个浏览器上运行

时间:2021-10-29 17:23:26

I currently have an ActiveX control which links in many c/c++ dlls. The problem is that we now need this control to run on browsers other than IE (most importantly Firefox).

我目前有一个ActiveX控件,它链接在许多c / c ++ dll中。问题是我们现在需要这个控件在IE以外的浏览器上运行(最重要的是Firefox)。

As I see it I have the following options:

在我看来,我有以下选择:

  • Write the control as a firefox plugin. This seems like it will be the quickest but would then tightly couple us to Mozilla.
  • 将控件写为firefox插件。这似乎是最快的,但会紧紧地将我们联系到Mozilla。

  • A complete rewrite in Silverlight or flex. Due to the size of our control would probably take too long.
  • 在Silverlight或flex中完全重写。由于我们控制的大小可能需要太长时间。

  • Create a mixed client and server side solution, using JavaScript for the UI, similar to Google Docs.
  • 使用JavaScript为UI创建混合客户端和服务器端解决方案,类似于Google Docs。

Just wondering if anyone else has attempted to solve the problem of porting ActiveX controls? And, if any, what advice they could offer?

只是想知道是否有其他人试图解决移植ActiveX控件的问题?而且,如果有的话,他们可以提供什么建议?

Thanks in advance

提前致谢

2 个解决方案

#1


Make it a Netscape Plugin (see http://www.mozilla.org/projects/plugins/) and it will work with all mainstream Windows browsers except IE (and browsers on other platforms as well, if you can port the code to those platforms).

使它成为Netscape插件(参见http://www.mozilla.org/projects/plugins/),它将适用于所有主流Windows浏览器,除了IE(以及其他平台上的浏览器,如果你可以将代码移植到那些平台)。

#2


Use FireBreath: http://www.firebreath.org

使用FireBreath:http://www.firebreath.org

Its designed to solve exactly your problem; you implement everything once under the firebreath abstraction. if there are any features you need that aren't supported or you don't know how to get working with FireBreath, the dev list is really good about answering queries quickly. And, since it's open source (but licensed so that you don't have to open source your code), you can make changes yourself as well.

它旨在解决您的问题;你在firebreath抽象下实现了一切。如果您需要任何不受支持的功能,或者您不知道如何使用FireBreath,那么开发人员列表非常适合快速回答查询。而且,由于它是开源的(但许可使您无需开源代码),您也可以自己进行更改。

Anything written using firebreath will work on IE, Firefox, Chrome, Safari, and possibly Opera (Opera doesn't 100% correctly implement NPAPI; with a little work you can make it all compatible).

使用firebreath编写的任何东西都可以在IE,Firefox,Chrome,Safari和Opera上使用(Opera不能100%正确地实现NPAPI;只需要做一点工作就可以使它全部兼容)。

#1


Make it a Netscape Plugin (see http://www.mozilla.org/projects/plugins/) and it will work with all mainstream Windows browsers except IE (and browsers on other platforms as well, if you can port the code to those platforms).

使它成为Netscape插件(参见http://www.mozilla.org/projects/plugins/),它将适用于所有主流Windows浏览器,除了IE(以及其他平台上的浏览器,如果你可以将代码移植到那些平台)。

#2


Use FireBreath: http://www.firebreath.org

使用FireBreath:http://www.firebreath.org

Its designed to solve exactly your problem; you implement everything once under the firebreath abstraction. if there are any features you need that aren't supported or you don't know how to get working with FireBreath, the dev list is really good about answering queries quickly. And, since it's open source (but licensed so that you don't have to open source your code), you can make changes yourself as well.

它旨在解决您的问题;你在firebreath抽象下实现了一切。如果您需要任何不受支持的功能,或者您不知道如何使用FireBreath,那么开发人员列表非常适合快速回答查询。而且,由于它是开源的(但许可使您无需开源代码),您也可以自己进行更改。

Anything written using firebreath will work on IE, Firefox, Chrome, Safari, and possibly Opera (Opera doesn't 100% correctly implement NPAPI; with a little work you can make it all compatible).

使用firebreath编写的任何东西都可以在IE,Firefox,Chrome,Safari和Opera上使用(Opera不能100%正确地实现NPAPI;只需要做一点工作就可以使它全部兼容)。