delphi - 火狐 6 : implementing nsIProtocolHandler

标签 delphi firefox firefox-addon xpcom

Firefox 6 中发生了一些变化,因此我无法再仅通过在诸如 @mozilla.org/network/protocol;1?name 之类的契约(Contract)下注册来从附加组件添加我的 nsIProtocolHandler (和 nsIChannel)实现=我的方案? 我检查了我使用的所有接口(interface)是否有任何更改(根据新的 UUID),但我没有收到对我在 NSModule 中列出的 getFactoryProc 的调用, 就像我以前做的那样。 我是否需要添加一个类别(例如 http-startup 之类的?)或者是 还有什么问题吗? (在firefox 3.6中工作的代码仍然是here我还没有提交 新代码尚未...)

更新: I've logged this as a bug .

最佳答案

更新:好的,我明白了。请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=656331 。基本上,您需要在模块中导出正确的 kVersion 值,否则库将在加载后立即卸载(即您正在观察的行为)。从 Firefox 5 开始,此行为是新的。

如果您尚未更新到 Firefox 4,那么您需要更改注册 XPCOM 组件的方式。请参阅https://developer.mozilla.org/en/XPCOM/XPCOM_changes_in_Gecko_2.0 。关于 JS 组件或二进制组件的部分是否相关取决于您的组件是用 JS 还是 C++ 实现的。

关于delphi - 火狐 6 : implementing nsIProtocolHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7236434/

相关文章:

javascript - 为什么每次我单击工具栏按钮时我的 Javascript 都会变得未定义?

delphi - 添加到数据库不起作用

delphi - 如何使 TFont 属性在对象检查器中默认显示?

delphi - "Invalid address specified to RtlFreeHeap( 06450000, 08387460 )"是什么意思?

google-chrome - MediaRecorder 在 Firefox 和 Chrome 中支持的所有 MIME 类型?

javascript stopPropagation/cancelBubble/preventDefault 在 Firefox 中不起作用

html - 表格单元格内绝对位置的 Firefox 错误

delphi - 为什么优化器不消除循环中的 High?

firefox - 将 Firefox 扩展限制为特定域

javascript - 响应 Firefox Add-on 中的地址栏按键事件