GeckoFX更新至Gecko 2.0?

4
我在上个月发现GeckoFX时非常兴奋。我的雇主希望我们能够将一个嵌入式浏览器与我们的桌面应用程序一起分发(以平稳地过渡到基于Web的应用程序),而能够使用Gecko而不是IE真是一件奇迹!
我能找到的最新版本的GeckoFX使用了Gecko引擎(Xulrunner)的1.9.1和1.9.2版本。这很好用,但缺少了许多随Firefox 4(Gecko 2.0)一起发布的好东西。
我已经有了Xulrunner 2.0的分发版,但GeckoFX不能直接使用它。某些XPCOM API已经改变,我相信还会有许多其他小的不兼容性。虽然我觉得这应该是容易解决的问题,但我不是C++开发人员,所以我真的毫无头绪。
现在我正在寻找以下内容之一,按优先顺序排序:
  1. 一个已经编译好的GeckoFX更新版本,可以与Xulrunner 2.0兼容
  2. 另一个解决方案,允许我在C# Windows应用程序中嵌入由Gecko驱动的Web浏览器。
  3. 关于如何开始自己更新GeckoFX的建议(通过建议我是指像对待6岁孩子一样帮我)。
仅仅深入代码并试图解决所有错误是没有帮助的。我在尝试创建nsIWebBrowser实例时不断收到InvalidCastException(不,我无法提供更多详细信息,因为这就是错误消息和堆栈跟踪显示的全部内容!)。自从似乎没有人开发过嵌入式Firefox 4以来,事情变得非常困难和毫无意义。
有什么想法?建议?

我无法使用你们的Gecko Wrapper for .net浏览以下网站。 http://premier.ticketek.com.au/shows/show.aspx?sh=KYLIEMIN11请帮帮我,这对我很紧急。如果可能,请提供一个可以运行上述链接的示例应用程序。谢谢。 - user700103
Adeel - 如果您遇到支持问题或遇到特定的错误,请在Google Code网站上报告它作为一个问题=>http://code.google.com/p/leapin-lizard/issues/list。话虽如此,请在您的请求中更加清晰明了。使用Gecko Wrapper,链接可以正常运行,我担心您可能正在要求别人为您构建应用程序。 - EAMann
2个回答

2
在没有更深入的帮助的情况下,我花时间自己挖掘和解决问题。关键是理解ComImport,这是我以前没用过的东西。
事实证明,Mozilla更改了XPCOM公开的一些API方法的GUID。最重要的是,nsIWebBrowser的GUID从69E5DF00-7B8B-11d3-AF61-00A024FFC08C变为33e9d001-caab-4ba9-8961-54902f197202
nsInterfaces.cs中进行这个更改实际上修复了很多问题。
逐行查看并调解构建错误(尽管错误信息晦涩难懂)使我能够完成系统并创建一个确实运行XULRunner 2.0的构建。
不幸的是,能够构建和运行Gecko 2以及暴露整个API是两回事。我在Google Code上创建了一个项目,用于完全重写GeckoFX以适应Gecko 2:Leapin' Lizard。它基本上是原始Skybound.Gecko代码的分支,并在同样的开源许可下分发。
所以现在我有了一个与XULRunner 2.0兼容的GeckoFX版本。它只需要打磨一下。

面对相同的问题,从哪里下载Leapin' Lizard?因为Google Code页面没有显示任何下载... - Kushal
使用Mercurial检查代码。您想要使用Gecko 2.0分支。一旦我清理完代码(整个XPCOM API的大块都缺失了),我将发布一个可下载的ZIP文件作为构建。不幸的是,现在您必须检出代码并自行构建。 - EAMann
谢谢,期待着在.NET上运行Gecko应用程序的“光明未来”;-) - Kushal
我正在考虑为我的跨平台geckofx分支https://bitbucket.org/geckofx/geckofx/添加xulrunner 2.0支持。你的更改看起来是一个不错的开端。你有什么想法,它们完成了多少? - Tom
我大概完成了API的25%。在开发过程中,我还添加了很多文档,以使库更易于开发。不幸的是,它现在很庞大,并且尚未完全支持HTML5的DOM。这在待办事项清单上,只需要时间。 - EAMann

0

目前还没有预编译的库可以包装XulRunner 4.0。我是MozNET的作者,这是一个正在积极开发的Mozilla包装器构建。我确实有一个半工作的构建版本,使用XulRunner 2.0,但它还没有完全完成。由于XulRunner 2.0中所做的更改,仍然需要进行大量更改,以使MozNET与新构建完全兼容。目前,我已经具有完整的浏览支持,几乎完成DOM对象访问和全面的拼写检查支持。该构建版本是一个正在进行的工作,因为我仍在维护和支持MozNET 1.9.2.17。


只是想让您知道,当我尝试访问支持MozNET的您的网站时,它一直超时。我曾考虑过使用您的库,但由于没有XulRunner 2.0支持,它并不真正适合我的需求...这就是为什么我自己开发了一个。很抱歉 :-( - EAMann

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