Adding APIs to the navigator object

2 位贡献者:

Gecko 9.0之后 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6), 我们可以很容易的利用Category Manager添加新的APIs 到 window.navigator 对象。简单地添加一个到 "JavaScript-navigator-property" category 的入口。

在程序中添加对象到navigator

var categoryManager = Components.classes["@mozilla.org/categorymanager;1"]
                      .getService(nsICategoryManager);

categoryManager.addCategoryEntry("JavaScript-navigator-property", "myApi",
                      MY_CONTRACT_ID, false, true);

这两句添加了一个新的对象, myApi, 到 window.navigator 对象; 这个新添加的对象是基于由contract ID MY_CONTRACT_ID 所制定的组件的。

使用 manifest 文件添加对象到 navigator

我们也可以使用chrome manifest 文件添加对象到window.navigator :

component {ffffffff-ffff-ffff-ffff-ffffffffffff} MyComponent.js
contract @mozilla.org/mycomponent;1 {ffffffff-ffff-ffff-ffff-ffffffffffff}
category JavaScript-navigator-property myComponent @mozilla.org/mycomponent;1

这样就添加了一个新的 API, myComponent, 到navigator 对象, 然后就可以通过 navigator.myComponent访问到。

实例

通过下面两个文件你可以明白接口 mozApps 的实现:

See also

文档标签和贡献者

标签: 
向此页面作出贡献: ziyunfei, crazybullet
最后编辑者: ziyunfei,