Man*_*tok 5 javascript cookies firefox-addon firefox-addon-sdk
我正在开发Firefox扩展,需要从特定域访问特定的cookie.我有这个代码来获取所有域的所有cookie,我如何只请求我正在寻找的cookie.
var {Cc, Ci} = require("chrome");
var cookieManager = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager);
var count = cookieManager.enumerator;
while (count.hasMoreElements()){
var cookie = count.getNext();
if (cookie instanceof Ci.nsICookie){
console.log(cookie.host);
console.log(cookie.name);
console.log(cookie.value);
}
}
Run Code Online (Sandbox Code Playgroud)
总而言之,我能够使用上面的代码找到我正在寻找的cookie,但我不想迭代所有域中的所有cookie.
您可以使用nsICookieManager2接口(原始nsICookieManager接口已冻结且无法更改,这就是创建此扩展版本的原因):
var cookieManager = Cc["@mozilla.org/cookiemanager;1"]
.getService(Ci.nsICookieManager2);
var count = cookieManager.getCookiesFromHost("example.com");
Run Code Online (Sandbox Code Playgroud)
注意:在Gecko 2.0(Firefox 4)中删除了冻结接口的概念.从那时起,一些类似于nsICookieManager/ nsICookieManager2已经统一的接口- 因此在未来的Firefox版本中nsICookieManager2也可能会消失,所有功能都将在nsICookieManager那时公开.
| 归档时间: |
|
| 查看次数: |
3640 次 |
| 最近记录: |