gpt4 book ai didi

javascript - 将 XPCOM 组件暴露给网页中的 javascript

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:19:28 26 4
gpt4 key购买 nike

我想编写一个 XPCOM 组件,在网页中作为 javascript 对象公开。我正在寻找像 Google Gears 这样的东西。也就是说,在安装 Google Gears Firefox 扩展后,javascript 对象“google.gears”可用于任何想要使用它的网页。我发现了很多关于 XPCOM 开发的 mozilla 文档,但没有找到关于将组件暴露给在网页中运行的 javascript 的文档。 XPCOM 可以吗?我需要编写 Firefox 插件而不是扩展吗?

最佳答案

我正在使用 Firefox 4 中的新 API - nsiDOMGlobalPropertyInitializer - 执行此操作,它允许您创建一个 JS 对象以懒惰地附加到所有窗口。这就是 Firefox 4 中新的 Web 控制台的创建方式。

您的组件中必须具有以下 QI 属性:

QueryInterface: XPCOMUtils.generateQI([Ci.nsIDOMGlobalPropertyInitializer]),

以下是扩展中完整实现的示例:

https://github.com/daviddahl/domcrypt/blob/master/extension/domcrypt/components/domcrypt.js

所以基本上,QI 到 Ci.nsIDOMGlobalPropertyInitializer,然后确保你的 list 有这样一行:

category JavaScript-global-property crypt @droplettr.com/domcrypt;1

参见:https://github.com/daviddahl/domcrypt/blob/master/extension/domcrypt/components/domcrypt.manifest

关于javascript - 将 XPCOM 组件暴露给网页中的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5146114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com