use*_*486 5 javascript firefox window firefox-addon
我正在阅读Firefox源代码,我想知道如何创建一些全局函数.
我无法找到窗口对象的创建位置或如何定义脚本要访问的某些全局对象.
我想知道从哪里开始,或者至少在哪里定义和创建窗口对象,谢谢!
该对象主要在nsGlobalWindow.cppwindow中定义。公共方法/属性属于 nsIDOMWindow、nsIDOMJSWindow、nsIDOMEventTarget、nsIDOMStorageIndexedDB 和其他一些接口(查找宏,但并非所有宏都引用公共接口)。NS_INTERFACE_MAP_ENTRY
此外,与任何 DOM 对象一样,它可以具有 Expando 属性(由脚本设置的属性)。其中一些 Expando 属性是在创建 DOM 包装器(nsWindowSH类)时自动设置的。特别是,实现nsIDOMGlobalPropertyInitializer的组件可以在该阶段设置属性,或者监听content-document-global-created通知的组件。