问题标签 [geckosdk]

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 投票
2 回答
2257 浏览

delphi - Delphi Gecko SDK - 有人用那个+ XULRunner 1.9成功了吗?

我从 sf.net ( http://sourceforge.net/projects/d-gecko/ ) 中检查了 d-gecko SDK。我想用 Gecko (XULRunner) 1.9 尝试它,但是当我每次在 stdcall 函数中遇到错误时运行简单的应用程序时,指向 WebBrowser.Paint 行......我的问题是 - 有没有人成功在 XULRunner 1.9 中运行 GeckoSDK Delphi 应用程序? 如果是这样 - 如何?它对您来说是开箱即用的吗?

谢谢米。

0 投票
5 回答
1085 浏览

mozilla - 我要链接 gecko 1.9.3 SDK 中的哪个库以使用 moz_xmalloc()?

我正在尝试将我的 XPCOM 扩展与 1.9.3a3pre SDK 链接起来,我得到以下信息:

错误 LNK2001:未解析的外部符号 _moz_xmalloc

那么,我需要链接到什么库?文档没有说 。

这现在在 Windows 上,但我也需要它在 Mac 和 Linux(32 位/64 位)上构建。

编辑:现在有赏金。

编辑:更新:原来FF3.7被取消了。所以在FF4之前我不必担心这个。

0 投票
1 回答
115 浏览

firefox-addon - 如何 AddRef() 一个 nsCOMPtr 用作输出参数?

我的班级有一名成员:

我有这样做的方法:

但是 Gecko 9 强制你不能调用AddRef()or Release()on nsCOMPtr<>s。所以现在我正在这样做:

但是直接访问原始指针让我觉得很脏。AddRef()在吸气剂中取出参数的正确方法是什么?

文档没有帮助。

0 投票
2 回答
50593 浏览

c# - 如何在 C# 中使用 Gecko

我需要 Gecko WebBrowser 控件

我需要解释如何使用 GECKO 的示例代码或链接

如果有人使用过 Gecko,我可以提供一些建议

0 投票
1 回答
1293 浏览

mozilla - NPAPI 教程,Gecko SDK

嗨,我正在关注mozilla 开发人员网站上的这个简单教程。

我在构建阶段遇到了一些错误,而我在教程中无法遵循的一件事是在版本问题下

  1. 如果您使用 Gecko SDK v1.9 及更高版本,您可能需要将文件夹 \plugin、\nspr 和 \java 添加为包含目录

从 C:\xulrunner-sdk\include 文件夹中,我找到了“nspr”文件夹,但没有名为“plugin”或“java”的文件夹。我找到了一个名为 C:\xulrunner-sdk\include\mozilla\plugin* s * 的文件夹。但是没有类似于 Java 的名称。任何人都知道它们在哪里,我从这里下载了 Gecko SDK ,那是教程中的链接。如果有人对此有更多经验并且可以提供帮助,那么感谢分享:)

0 投票
1 回答
126 浏览

firefox - 编译示例 firefox 协议处理程序 gecko SDK 3.6 时出错

尝试编译 firefox 协议处理程序的示例实现时出现以下错误。我在 Windows Vista 上使用 Gecko SDK 3.6、Visual Studio 2010。我认为该示例非常旧,并且不是使用 SDK 3.6 版构建的。

1>nsKeywordModule.obj : 错误 LNK2019: 引用了无法解析的外部符号“__declspec(dllimport) unsigned int __cdecl NS_NewGenericModule2(struct nsModuleInfo const *,class nsIModule * *)”(_ imp ?NS_NewGenericModule2@@YAIPBUnsModuleInfo@@PAPAVnsIModule@@@Z)在函数 _NSGetModule

1>nsKeywordProtocolHandler.obj : 错误 LNK2019: 引用了无法解析的外部符号“__declspec(dllimport) public: __thiscall nsFixedCString::nsFixedCString(char *,unsigned int,unsigned int)” (_ imp ??0nsFixedCString@@QAE@PADII@Z)在函数“公共:__thiscall nsCAutoString::nsCAutoString(void)”(??0nsCAutoString@@QAE@XZ)

1>nsKeywordProtocolHandler.obj : 错误 LNK2001: 无法解析的外部符号“__declspec(dllimport) public: static char * nsCharTraits::sEmptyBuffer” (_ imp ?sEmptyBuffer@?$nsCharTraits@D@@2PADA)

1>nsKeywordProtocolHandler.obj : 错误 LNK2019: 未解析的外部符号“__declspec(dllimport) public: __thiscall nsACString_internal::nsACString_internal(char *,unsigned int,unsigned int)” (_ imp ??0nsACString_internal@@QAE@PADII@Z) 引用在函数“受保护:__thiscall nsCString::nsCString(char *,unsigned int,unsigned int)”(??0nsCString@@IAE@PADII@Z)

0 投票
1 回答
142 浏览

firefox - 使用基于 64 位 Ubunty 的系统编译 XPCOM idl 文件

我正在为 Firefox 开发 XPCOM 接口。要使用基于 64 位 Ubuntu 的系统编译我的 .idl 文件,我找不到特定的 Gecko SDK 版本。我厌倦了从我在 bin 文件夹中找不到“xpidl”文件的链接下载“Linux x86_64”版本的 Gecko SDK 。这是我遵循的教程。很高兴听到我在哪里失踪。

0 投票
3 回答
1309 浏览

windows - Windows 上的 FirefoxOS 和 Gecko SDK

我试图让我的手弄脏 Firefox OS 应用程序。我尝试按照https://developer.mozilla.org/en/docs/Gecko_SDK 上的说明获取 SDK。我下载了适用于 Windows 的 Gecko 22.0 (Firefox 22.0) zip 文件。谁能告诉我如何在windows系统上构建它。网站上给出的细节并不像我预期的那么清楚(我原以为它们会像 android 网站上的那样)。或者是否有可用于 SDK 的二进制文件?

0 投票
1 回答
509 浏览

delphi - 在 Delphi 应用程序中使用 TGeckoBrowser 时如何避免异常

昨天在 aq 的提示下,我试图从这里重新熟悉 TGeckoBrowser:http: //sourceforge.net/p/d-gecko/wiki/Home

(注:需要安装 Mozilla XulRunner 包)

自从我上次在 WinXP 时代尝试以来,事情似乎有点倒退了,因为用最小的 D7 项目导航到 URL,我遇到了我不记得以前见过的错误。我在下面包含了我的代码。这些是我在导航到 www.google.com、news.bbc.co.uk 等网站时遇到的错误,当然还有这里。

  1. 第一个异常 - “Safecall 方法中的异常” - 在我的表单首次显示时发生,然后在任何地方导航。我有一个 TApplication.OnException 处理程序形式的解决方法。

我的问题是:a) 有没有人知道如何首先避免它或 b) 有没有比设置 TApplication.Exception 处理程序更整洁的方法来捕获它,这对我来说总是有点承认失败(我的意思是让用户避免看到异常,根本没有应用程序范围的处理程序)。

此异常发生在此代码中:

在对 baseWin.Repaint 的调用中,因此推测它可能来自接口的另一侧。我只在第一次调用 .Paint 时得到它。我注意到在这一点上,baseWin 为 GetVisibility 返回 False,因此我的 TForm1.Loaded 中的实验代码,看看这是否会避免它。它不是。

2.a 调用 GeckoBrowser1.LoadURI 后,根据正在加载的 URL,我得到一次或多次“无效浮点操作”。

2.b 同样,根据 URL,我得到:“模块 js3250.dll 中地址 556318B3 的访问冲突。读取地址 00000008。” 或类似的。在某些页面上,它每隔几秒钟发生一次(感谢我想象页面中的一些 JS 计时器代码)。

通过在下面的 TForm1.OnCreate 中调用 Set8087CW 可以避免 2a 和 2b,但我提到它们主要是为了以防有人将它们和 1 一起识别为某种系统性问题的症状,但谷歌也会为其他人找到这个 q谁遇到了这些症状。

回到我的问题 1b),“Safecall 方法中的异常”发生在 StdWndProc-> TWinControl.MainWndProc->[...]->TCustomGeckoBrowser.Paint。除了使用 TApplication.OnException 处理程序之外,有没有办法在调用链中进一步捕获异常,以避免通过在其中放置处理程序来修改 TCustomGeckoBrowser.Paint 的代码?

更新:一条评论提请我注意与 SafeCall 相关的此文档:

当安全调用错误处理程序尚未设置且安全调用例程返回非 0 HResult,或者安全调用错误处理程序未引发异常时,将引发 ESafecallException。如果发生此异常,则 Comobj 单元可能从应用程序的使用列表 (Delphi) 中丢失或未包含在项目源文件 (C++) 中。您可能需要考虑从导致异常的例程中删除 safecall 调用约定。

GeckoBrowser 源带有一个单元 BrowserSupports,它看起来像一个类型库导入单元,只是它似乎是手动准备的。它包含一个接口,该接口包括产生 SafeCall 异常的 Repaint 方法。

按照 quoyed 文档中的建议,我在 Repaint 成员(但仅限于该成员)上将“safecall”更改为 StdCall,并且,突然!异常停止发生。如果它在接下来的几天内没有再次出现,我会将其作为答案发布,除非有人提出更好的答案。

我的项目代码:

0 投票
0 回答
208 浏览

gecko - GeckoFx - 安装自己的内容处理程序的示例?

我一直在玩 GeckoFx(来自 Bitbucket 的 v29),它几乎可以完成我需要的所有事情,除了一件关键的事情,那就是提供我自己的内容处理程序,负责对任何资源的所有网络请求。即,我假设我可以注册某种回调或类,每次 Gecko 需要执行任何 HTTP(s) 请求(GET/POST/PUT 等)时都会调用它,此时我可以自己处理此行为并且返回结果。但是我找不到任何示例来展示如何做到这一点,而且到目前为止我尝试过的任何方法都没有奏效。

不幸的是,看起来 Gecko 将无法支持我确实需要的一件事——即能够将每个请求与适用的原始 DOM 元素/属性相匹配——即,如果源中有,那么我会希望回调函数不仅被告知需要“GET apple.png”的结果,而且是由于 DOM 中的某个 IMG 元素导致的 - 如果它确实是,例如,XMLHttpRequest,我想知道它来自 JavaScript 代码中的哪一行。

任何帮助表示赞赏,包括可能能够做到这一点的替代库的任何建议,或者可能更好地询问其他论坛的任何建议(我似乎找不到任何帮助,并且没有从发布到bitbucket 存储库所有者)。

谢谢

迪伦

PS我尝试的是编写一个实现nsIHttpProtocolHandler和nsIObserver的类,一个匹配的nsIFactory类,并使用BaseNsFactory.Register("@mozilla.org/network/protocol;1?name=http"); 工厂类被调用得很好,但是在尝试进行任何导航时,我得到了 FaultExecutionEngineError。这都是猜测,因为我似乎找不到任何解释如何做到这一点的文档。