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

xpcom - 如何在 C++ 中将鼠标事件侦听器附加到嵌入式 nsIWebBrowser

我在我的应用程序中嵌入了一个 nsIWebBrowser。因为我只是动态地为其生成 HTML,所以我使用 OpenStream、AppendToStream 和 CloseStream 来添加内容。我需要的是添加事件侦听器以在 Web 浏览器上移动鼠标以及单击鼠标。我已经阅读了文档并尝试了很多不同的东西,但我尝试过的都没有奏效。例如,下面的代码似乎做了正确的事情,但它什么也没做:

也许它不起作用,因为它是在初始化期间运行的,但在实际添加任何内容之前。但是,如果我在 AppendStream 或 CloseStream 期间添加它,则会出现段错误。

请告诉我一个简单的方法来做到这一点。

0 投票
2 回答
2155 浏览

c++ - NS_ERROR_XPC_GS_RETURNED_FAILURE 错误代码

我正在为 Firefox 开发扩展,它调用用 C++ 编写的 XPCOM 组件,我收到此错误:

当我尝试从 java 脚本执行此代码时:

有人知道这个错误代码是什么意思吗?

此错误仅在运行 FF 3.5.2(32 位官方版本,即使在重新安装 FF 并创建新配置文件后)运行 Vista(x86 和 x64)的少数机器上发生,在其他平台上它正在工作。XPCOM 组件是用 Visual C++ 2008 (sp1) 编译的。

我试图删除 compreg.dat 和 xpti.dat 但它不起作用,我还尝试创建新的配置文件,然后再次安装扩展,但我仍然得到同样的错误。

我知道 Firefox 成功加载了我的 XPCOM 组件并且该组件正在工作,因为我可以从另一个用 javascript 编写的组件访问和使用它。

从错误控制台进行评估也有效。

表达:

返回:

谢谢!

0 投票
1 回答
180 浏览

c++ - XPCOM中的服务控制安全问题

我正在开发一个 Firefox 扩展,它与底层 Windows 服务(我已经做了)接口。

在到目前为止的开发过程中,我在安装程序中遇到了一个错误(它安装了 FF 扩展和服务)。这是由于 Vista 上的安全模型需要提升权限才能安装和启动服务。我调整了安装程序,现在它安装得很好(只是向最终用户显示了额外的 Vista'esque 警告对话框——我可以忍受!)

我现在正在开发一个 XPCOM 组件,它将与我已经制作的 XUL 东西一起安装。XPCOM 将有一个 XUL javascript 接口,它将尝试执行停止和启动服务等操作(例如,当用户配置数据更改时)。

我的问题:由于 FF 通常会在用户帐户下运行,我会在 Vista 或其他 Windows 版本上尝试通过 XPCOM启动或停止我自己的服务时遇到任何困难吗?

(当用户运行安装程序时,我不介意在 Vista 中弹出安全对话框。但我当然不希望在他们尝试更改 XUL 界面中的信息时发生这种情况。)

解决这个问题的正确方法是什么?

0 投票
5 回答
88149 浏览

xpcom - 什么是白名单和黑名单数据?

我正在阅读有关 XPCOM 组件开发的信息。我遇到了这些称为白名单数据和黑名单数据的术语,我试图在谷歌上找到但找不到..我不知道它与编程有什么关系,所以如果我把问题放在错误的地方请见谅..

0 投票
2 回答
2934 浏览

javascript - 未定义 Javascript 警报。.

我正在创建一个 javascript xpcom 组件它的来源如下 -

当我使用以下方法调用它时:

我得到错误:

0 投票
1 回答
385 浏览

multithreading - 从线程调用 XPCOM 函数时 Firefox 崩溃

我想从 XPCOM Component 创建一个线程......这是一个代码

这是一个线程函数

当我在调用线程之前调用函数时它可以工作但是一旦我写了像obj->Status(temp);Firefox 这样的东西就会在函数上崩溃这个调用

0 投票
3 回答
959 浏览

c++ - 如何将 char* 转换为 PRUnichar *

我需要传递char*给 XPCOM 函数,但该函数接受PRUnichar *. 如何从 转换char*PRUnichar *

0 投票
1 回答
234 浏览

javascript - Firefox关闭时如何关闭线程

我有一个使用工作线程使用多线程的扩展,如此处所示。每当工作线程向主线程返回值时,我都会更新 UI 并再次启动该线程,因为我想连续执行该操作。我不能使用 setInterval,因为内部线程是对 C++ XPCOM 组件函数的调用,该函数执行套接字 recv 阻塞调用,并且接收可能不是周期性的。

现在,当我关闭 firefox 时,firefox 窗口已关闭,但 firefox 进程继续运行并消耗 99% 的 CPU。所以我总是需要强行关闭这个过程。

如何完全关闭该进程。扩展是这样的叠加

0 投票
2 回答
390 浏览

c++ - C++ XPCOM 组件的测试驱动开发?

我想使用 c++ XPCOM 组件创建一个 Firefox 扩展,该组件又使用 javascript XPCOM 组件。是否有任何框架允许 C++ XPCOM 组件/firefox 扩展的测试驱动开发?

0 投票
1 回答
490 浏览

dll - 如何在 XULRunner 中从 javascript 链接到 DLL?

我有一个 dll(不是我写的),我想在 XULRunner 应用程序中使用它。我对此几乎一无所知,所以请耐心等待。显然我可以使用 XPCOM 加载 dll,然后在其中调用函数。我该怎么做?