问题标签 [xpcom]

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 投票
1 回答
1906 浏览

firefox - http-on-examine-response 观察者 - 可能阻止进一步处理的响应?

我正在尝试实现一个 firefox 扩展来过滤传入的 HTTP 响应并相应地处理它们。

我希望阻止包含特定标头的 HTTP 响应。阅读了一些 MDC 文章后,观察 HTTP 响应的最常见方法似乎是注册一个 http-on-examine-response 观察者。

我的问题是:使用这个观察者,是否可以阻止 HTTP 请求进一步处理(作为副产品,页面将继续等待响应)?或者我是否需要使用 XPCOM 的其他方面(如果需要,请指出我正确的方向)?

在此先感谢,
迈克

0 投票
2 回答
137 浏览

c++ - 我需要为我在 XPCOM 中使用的每个自创类创建一个接口吗?

我是 XPCOM 开发的菜鸟。在用 C++ 编写 XPCOM 代码的过程中,我需要创建额外的类以在我的 XPCOM 组件中使用。我需要为这些类创建另一个 XPCOM 组件吗?我不能只在头文件中添加新类吗?

0 投票
2 回答
1079 浏览

firefox - 如何通过 XPI for FireFox 3 分发 XPCOM 组件?

我写了一个 XPCOM 组件和一个使用它的扩展。XPCOM 为其目的加载任意 DLL。

如何将 XPCOM 和 DLL 包含到 XPI 包中?

0 投票
2 回答
5823 浏览

javascript - 如何从 Firefox 扩展对 JavaScript 中的字符串进行 HTML 编码

所以我知道我可以像这样编写自己的 HTML 编码函数:

但我想知道是否有任何可用于 XPCOM 组件的本机工具。我正在编写一个组件,而不是一个覆盖,所以我没有一个 DOM 来做一些技巧,比如创建一个 DOM 元素并设置它的innerHTML.

0 投票
3 回答
1163 浏览

c++ - 注册 XPCOM 组件时出现问题

我正在开发我的第一个 XPCOM 组件。不幸的是,我无法成功注册。

建筑没问题。这是生成文件

我在开发 firefox 配置文件的扩展目录下创建了一个新的扩展文件夹。IComponent.xpt 和 Component.so 文件放置在组件目录下。

然后我从我的开发 Firefox 配置文件中删除了 compreg.dat 和 xpti.dat。我重新启动它,它应该会自动注册组件。但是 XPCOM 查看器没有显示我的组件。

我运行了这个命令来检查错误

它向我展示了几个未定义的符号

我一直在我的代码中使用 nsAString 和 COMPtr。

我的步骤有什么问题吗?谁能解释为什么有未定义的符号?未定义的符号是什么意思?你如何让他们得到认可?

0 投票
1 回答
349 浏览

firefox - XPCOM tab based variable

When user clicks on of the button in toolbar it opens an url in the browser windows. user can process that content on clicking on some other button on the toolbar.

However it creates a problem when i have multiple tabs opened and each tab contains different url (so when i send a request to the server through toolbar actions it takes id for recently loaded data).

Could you please help me out so i can manage identifier returned from the server for each tab? I am using variable in JS to maintain the identifier for the loaded Url (Url comes from the server with the identifier).

0 投票
1 回答
267 浏览

firefox-addon - 使用 DOM 文档而不是 URI 创建选项卡/窗口?

我有一个需要在请求中发送特殊标头的 Web 服务。我能够使用 XMLHttpRequest 和 setRequestHeader() 检索预期的 responseXML。

现在我想创建一个包含响应文档的新选项卡(或窗口)。我希望将默认 XMLPrettyPrint.xsl 文件应用到它,并且在查看源代码时,我希望在查看普通 .xml 文件时看到未设置样式的源代码。

有任何想法吗?

0 投票
1 回答
1350 浏览

firefox - 编写带有原生窗口界面的 Firefox XPCOM 插件?(如 ActiveX 控件)

我有一个在 Internet Explorer 和 ActiveX 控件测试容器程序中运行良好的 ActiveX 控件。控件的实际行为分为两部分,其中一部分是与 OLE 主机接口的 ATL gunk,另一部分是真正的肉,它只接收窗口附加、调整大小、绘图和鼠标/键盘的回调事件。

现在,我想为 Firefox 插件编写 ATL gunk 的等价物(理想情况下在同一个二进制文件中,因此我不需要链接两个二进制文件,但我可以在这里灵活)。我已经下载并使用 Gecko SDK 构建了一个 XPCOM 组件,这似乎可行,但我不知道要实现哪些接口以使该组件可用作 Firefox 中的嵌入式本机 UI 组件。这与 Flash 播放器插件、PDF 查看器插件、QuickTime 播放器插件等的需求类似——javascript 和 XUL 还不够。

我在网上找了一些例子,但我能找到的唯一例子是基于看似古老的 NS_PluginInitialize() / NS_NewPluginInstance() 接口,它不是 XPCOM(但有其他名称?)。

有没有办法通过 XPCOM 实现同样的事情?如果是这样,怎么做?并且是否存在任何关于如何执行此操作的概述文档(不仅仅是界面成员列表)?

0 投票
1 回答
183 浏览

javascript - XPCOM中的依赖注入

我的一个 XPCOM 组件利用了其他 XPCOM 组件。当我测试它时,我发现它的依赖关系很麻烦。然后我想到了使用依赖注入在我的构造函数中传递其他组件。我没有成功。是否可以将其他组件的引用传递给您的构造函数?

例如 foo 组件需要 bar。我可以通过 foo 的构造函数传入 bar 吗?我尝试了上述方法,但没有奏效。

0 投票
1 回答
358 浏览

xpcom - 从 nsIBinaryInputStream 创建图像

我使用一些包含压缩图像数据(如 jpeg 或 gif)的 js 技巧创建了一个二进制输入流。我想使用 imgITools::decodeImageData 或其他方式解码和显示这些数据,但还没有找到方法。我应该从哪里开始?