问题标签 [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 回答
1227 浏览

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

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

0 投票
2 回答
1812 浏览

javascript - 如何在我的 XUL 应用程序中将图像数据复制到剪贴板?

我有一个需要将图像数据复制到剪贴板的 XULRunner 应用程序。我已经弄清楚如何处理将文本复制到剪贴板,并且可以从剪贴板粘贴 PNG 数据。我想不通的是如何从数据 URL 中获取数据到剪贴板,以便可以将其粘贴到其他应用程序中。

这是我用来复制文本的代码(嗯,XUL):

而且,正如我所说,我尝试传输的数据是作为数据 URL 的 PNG。所以我正在寻找与上面相同的方法,例如 Paint.NET 可以粘贴我的应用程序的数据。

0 投票
2 回答
1258 浏览

javascript - 如何在 Javascript 中通过 Firefox XPCOM 获取可靠的 HTTP 消息

我正在尝试使用 XPCOM 在 Firefox 上的 Javascript 中编写一个小型服务器+客户端。

为了在 Javascript 中获取 HTTP 消息,我使用了 nsIScriptableInputStream 接口。这个 f**ing 组件通过 read() 方法随机剪切消息,我无法使其可靠。

有人知道可靠地获取信息的解决方案吗?(我已经尝试过二进制流,同样失败。)

J。

0 投票
2 回答
3892 浏览

firefox - Firefox XPCOM 组件 - 调用方法 UnnamedClass 的权限被拒绝

firefox XPCOM 组件可以跨多个页面读写页面内容吗?

场景:一堆本地 HTML 和 javascript 文件。“Main.html”文件打开一个窗口“pluginWindow”,并使用以下方法创建插件:

netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var obj = Components.classes[cid].createInstance();
plugin = obj.QueryInterface(Components.interfaces.IPlugin);
plugin.addObserver(handleEvent);

具有 3 种方法的插件。

IPlugin.Read- 从插件读取数据
IPlugin.Write- 将数据写入插件
IPlugin.addObserver- 添加回调处理程序以进行读取。

“Main.html”然后调用pluginWindow 并尝试调用插件方法Write。

我收到一个错误:

Permission denied to call method UnnamedClass.Write

0 投票
2 回答
116 浏览

c++ - 一个组件的整体实现可以分为两个对象吗?

我已经看到 Microsoft COM 和 XPCOM,至少从我到目前为止所阅读和收集的内容来看,组件中接口的实现基本上必须在派生所有虚拟接口的单个​​类中。它是否正确?我错过了什么?

有没有办法让多个对象(可能在单独的 DLL 中)每个都提供它们的功能,并且仍然能够使用 QueryIterface 在它们之间自由转换?

我正在寻找的是具有一些功能的组件,但仍然允许外部客户端代码使用(可能)新接口创建组件的新扩展。理想情况下,这应该在不泄露组件的当前来源及其实现的情况下发生。

0 投票
1 回答
670 浏览

xpcom - 从 nsIDOMEvent 获取 URI

我正在使用 XPCOM,我想获取用户单击的页面部分的 URI(例如,用户右键单击一个框架,我想显示该框架的 URL)。所以我设置了一个鼠标监听器 (nsIDOMEventListener),然后当点击发生时,handleEvent 回调让我可以访问 nsIDOMEvent。

我的问题是,如何从 nsIDOMEvent 获取 URI?

0 投票
7 回答
6136 浏览

javascript - 从 Javascript/XPCOM 调用的批处理文件不显示命令提示符窗口

我以这种方式从 Javascript 调用批处理文件:

我的测试批处理文件是:

但是,每次我调用批处理文件时,都不会显示命令提示符,就像我只是从桌面运行批处理文件一样。我该如何解决这个问题并显示批处理文件的命令提示符?

编辑 要清楚,启动 cmd.exe 进程 - 我可以在任务栏中看到它。但是没有显示任何窗口。此代码段的行为类似:

0 投票
1 回答
373 浏览

javascript - XPCOM中的popen等效项?

我正在尝试XULRunner将 GUI 添加到基于命令行的程序中。

一种解决方案是使用 XUL 应用程序中的诸如 popen 之类的东西与命令行程序进行交互。

我的问题:

  • XPCOM有popen吗?
  • XPCOM 是否有足够的原语来创建 popen?
  • 是否有另一种方法可以访问过程中的标准输入/输出?

PyXPCOM 似乎具有此功能,但如果可能,我宁愿不添加依赖项。

0 投票
3 回答
3216 浏览

xul - 使用 XULRunner 开始 XUL 和 XPCOM 开发?

我正计划为专有系统设计一个应用程序 XUL 和 XPCOM。所以我决定使用 C/C++,但是作为一个初学者,我该如何开始这个领域的开发,我找不到一个好的指南来开始。如果你能提供一些链接和书籍会很好。我也想知道如何防止用户在视图部分专门修改代码,因为逻辑可以在 XPCOM 中完成。

0 投票
2 回答
462 浏览

javascript - 初学者帮助 - 此代码属于哪里?

我正在尝试开发一个 Firefox 扩展,它将额外的 HTTP 标头字段插入到传出的 HTTP 请求中(以与我同时开发的 apache 扩展接口)。

虽然我了解扩展的各个组件并了解 Web 上提供的基本教程,但我发现从“Hello World”教程扩展到开发完整的扩展很困难。

我想要适应我的目的的示例代码显示在设置 HTTP 请求标头的底部。

我想知道,这个代码应该放在扩展层次结构中的什么位置,以及如何调用/构造/激活这样的代码,它会在扩展初始化时自动运行吗?



提前致谢。