在最新的firefox中,当您尝试在Web控制台中使用以下代码时,我发现了这一点:

netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

[10:33:00.787] Use of enablePrivilege is deprecated.
Please use code that runs with the system principal (e.g. an extension) instead.


对于firefox 3.6,我总是使用这种方法来简单地测试一些XPCOM组件,这非常方便。但是在最新的Firefox中,我发现我已无法使用。

因此,如果当前我已经编写了C ++ XPCOM组件,除了必须编写和注册另一个test component之外,是否有一种简单的方法可以尝试对其进行测试?

当然,任何建议都非常感谢。

最佳答案

在最近的Firefox版本中,强烈建议不要使用Binary(C ++)XPCOM(或者更确切地说是DEAD DEAD DEAD):


http://adblockplus.org/blog/binary-xpcom-components-are-dead-js-ctypes-is-the-way-to-go
http://starkravingfinkle.org/blog/2011/07/add-ons-binary-components-and-js-ctypes/
http://hackademix.net/2011/07/14/killing-binary-xpcom-in-add-ons-is-javascript-fit/


MDN指定了获取二进制XPCOM组件的替代方法,尽管我不知道有什么方法可以改善您的情况:

https://developer.mozilla.org/En/Firefox_addons_developer_guide/Using_XPCOM-实施高级流程

以前的二进制组件现在应该使用js-ctypes:

https://developer.mozilla.org/en/js-ctypes

09-11 04:14