问题标签 [gecko]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
93917 浏览

c# - 是否可以像 WebView 一样在 Windows 窗体中嵌入 Gecko 或 Webkit?

我很想知道是否有 Gecko.NET 之类的东西;)我的意思是,就像我们可以嵌入 WebView 一样,它是任何 Windows 窗体应用程序中的 IE7 的“实例”(并告诉它navigateto(fancy_url);)。我喜欢使用 Firefox 或 WebKit。

有人试过这个吗?

更新:请记住,虽然可以使用上述控件嵌入 Gecko,但在使用 Gecko 时仍然无法打印

2010 年 3 月更新:仍然无法使用 GeckoFX 进行本机打印,但是有几种方法可能就足够了,具体取决于您要执行的操作。请参阅:http ://geckofx.org/viewtopic.php?id=796了解更多信息。

2013 年 10 月更新:我不再进行 Windows 开发,所以我对此不感兴趣,但似乎 Gecko 的开发可以在这里找到:https ://bitbucket.org/geckofx ,它似乎最近更新了。将其留在这里以供将来的 Windows 开发人员使用;)

2017 年 1 月更新:我收到了来自一家名为TeamDev的公司的电子邮件。他们创建了一个名为“DotNetBrowser”的基于 Chromium 的 .NET 浏览器组件,可用于在 Windows 窗体应用程序中显示现代网页。

直接引用电子邮件:

以下是有关该组件的一些详细信息,可能会有所帮助:

  1. DotNetBrowser 基于 Chromium,因此支持 HTML5、CSS3、JS 和最新的 Web 标准。该库的底层 Chromium 版本会定期更新。
  2. 该组件适用于 WPF 以及 Windows 窗体桌面应用程序,并且适用于 C# 和 VB.NET。
  3. 该库已获得商业许可,但为开源和学术项目提供免费许可。

免责声明: 我没有使用此 DotNetBrowser,因为我不再进行 Windows 开发,但如果您正在寻找解决方案,可能值得检查。

0 投票
1 回答
1227 浏览

c++ - 从 XPCOM 组件访问 Firefox 缓存

有人知道如何从组件中获取Firefox 缓存的文件的本地路径吗?URLXPCOM

0 投票
2 回答
942 浏览

ssl - 在嵌入式壁虎浏览器中阻止 https url

我有一个嵌入壁虎浏览器的应用程序。当我尝试访问任何 https url 时应用程序崩溃,因为此时 nss 未正确初始化。崩溃发生在 PK11_TokenExists() 中。我想阻止我的浏览器呈现 https 网站。如果用户单击 https 链接,我可以在 nsIURIContentListener 的 OnStartURI() 中阻止该加载。但如果用户输入说 orkut.com,我不会在 OnStartURI() 中知道它是 http url 还是 https 的(即它是否将使用 SSL 与否)。我想知道在这种情况下如何阻止 https url?

感谢 jbsp72

0 投票
9 回答
149876 浏览

.net - 是否有用于 Windows / C# 开发的可嵌入 Webkit 组件?

我见过一些包装 Gecko 渲染引擎的 COM 控件(GeckoFX以及 Mozilla 提供的控件 - mozctlx.dll)。是否有可以包含在 .NET Winform 应用程序中的 Webkit 包装器?

0 投票
5 回答
30498 浏览

delphi - 如何嵌入浏览器对象,而不是 IE, 在 Delphi 应用程序中

使用默认的 TWebBrowser 可以轻松嵌入 Web 浏览器。不幸的是,默认情况下出现的是 IE<n>。

我想知道如何集成 Gecko 或 WebKit 之一。

  1. 某处有 VCL 示例吗?
  2. 如果没有,人们将如何去做呢?
  3. 以可嵌入格式查找 Gecko 和/或 WebKit 核心的最佳位置在哪里?
0 投票
6 回答
20327 浏览

c++ - 嵌入到应用程序中的最佳 HTML 渲染引擎是什么?

目前,我们的应用程序使用 Trident Win32 组件,但出于几个原因,我们想要摆脱它,其中最主要的原因是我们希望跨平台。

我们正在研究WebKitGecko,但我很想在做出决定之前得到一些反馈。以下是一些最重要的要求:

  1. 它应该相对较快,占用空间小。理想情况下,我们可以毫不费力地修剪掉不需要的任何东西。

  2. 体面的文档很重要。我预计不需要对它做任何不寻常的事情,但你永远不知道。

  3. 我们正在使用 C++,如果可能的话,我们希望使用设计良好的面向对象架构。

  4. 跨平台是必须的,从长远来看,良好的性能会有所帮助(我们最终可能会移植到移动平台)。

在做出决定之前,我需要考虑哪些因素?以前有没有人使用过 WebKit 或 Gecko?如果是这样,是否有任何我可能会觉得有用的文章或教程?

更新:

谢谢你们的回应。我们最终选择了包含 WebKit 的 Qt 4.5。到目前为止,我们对它非常满意,事实上我认为 Qt 可能是我用过的最好的 UI 框架;使用本机 Win32 API 进行编码之间的差异是惊人的。它也很容易学习,我们唯一遇到的主要问题是习惯了信号/插槽范例。

0 投票
3 回答
1019 浏览

javascript - XPCSafeJSObjectWrapper 做什么?

Mozilla Firefox 的 XPCSafeJSObject 包装器实际上做了什么?

MDC的文档如下:

创建此包装器是为了解决 XPCNativeWrapper 的一些问题。特别是,一些扩展希望能够安全地访问非本机实现的内容定义对象(以及访问 XPCNativeWrapper 下的底层 JavaScript 对象而无需其强大的行为保证)。XPCSJOW 充当 chrome 代码之间的缓冲区。

这并没有告诉我很多。特别是,我不知道通过 XPCSafeObject 访问对象与直接访问它们有何不同。

编辑:我知道包装器的一般目的是保护特权代码免受非特权代码的影响。我不明白(并且似乎没有记录)是XPCSafeJSObject 究竟是如何做到这一点的

它只是在访问属性之前放弃特权吗?

0 投票
2 回答
6936 浏览

css - 在基于 Gecko 的浏览器中消失的 CSS 表格单元格边框

我有一个非常具体的 html 表格结构,似乎揭示了 Gecko 错误。

这是问题的提炼版本。在基于 gecko 的浏览器(例如 FF)中观察下表:(您必须将其复制并粘贴到新文件中)

右下角单元格中的“3”上缺少一行 - 在任何其他浏览器中查看它,该行将按预期显示。有趣的是,放弃表格的 thead 部分,看看我们得到了什么:

这样做可以使它起作用。有人见过这个吗?我想我现在将摆脱我的 thead 部分作为一种解决方法,尽管它使表格不太容易访问。

0 投票
2 回答
5574 浏览

c# - 如何在 Mono/Windows 上使用 gecko-sharp 嵌入 Gecko?

Gecko 是 Firefox 的渲染引擎。使用 gecko-sharp 可以将其嵌入到任何 Mono/GTK# 程序中。有一个名为GladeSharpBrowser的示例应用程序可以执行此操作。我可以设法使用修改后的项目文件来构建它,但它正在崩溃。这将帮助您重现问题:

我使用了SharpDevelop 3.0和一个教程来设置我的Mono 2.2安装。我确保它调用 Mono 的 gmcs 以使用 ProcMon 进行编译。设置 SharpDevelop 后,必须修改BrowserSharp.csproj以便它与 Mono 一起编译。

还有一条警告信息:

发现同一依赖程序集的不同版本之间存在冲突。

这很奇怪,因为所有的程序集都是 Mono 提供的。

当然,还有其他方法,例如 GeckoFX,但我特别感兴趣的是使用 Mono 以独立于平台的方式进行操作。

0 投票
2 回答
2306 浏览

c++ - 用于 DOM 的 Gecko API

Gecko 是否公开了直接使用其 DOM 的 API?我正在寻找一个像 HtmlElement 这样的类,它可以用来构建/遍历 HTML 内容的树。

我正在尝试将 Gecko 作为桌面应用程序中的 Web 浏览器控件托管,并且更喜欢直接 API 而不是通过 COM。谢谢!