Firefox 부가 기능을 개발하려고합니다. HTTP로 표시된 쿠키 만 계산하고 싶습니다. 수동으로 확인하면 많은 웹 사이트에 하나 이상의 HTTP 전용 쿠키가있는 것을 보았습니다. 하지만 내 결과는 항상 0
또는 1
입니다. 내 잘못은 어디 있니? 내Mozilla 애드온으로 HTTP 전용 쿠키 수를 계산하십시오.
var {Cc, Ci, Cu} = require("chrome");
Cu.import("resource://gre/modules/Services.jsm");
var cookieManager = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager2);
var tabs = require("sdk/tabs");
tabs.on('load', function(tab) {
var URL = tab.url;
var url = require("sdk/url").URL(URL);
var host = url.host;
function getCookies(host){
var cookies = cookieManager.getCookiesFromHost(host);
var count = 0;
while (cookies.hasMoreElements()){
var cookie = cookies.getNext().QueryInterface(Ci.nsICookie2);
//var count = 0;
var httpCookie = cookie.isHttpOnly;
if(httpCookie){
return count=count+1 ;
}else{
return 0;
}
console.log("Cookie host: " + cookie.host + "; Cookie Name :" + cookie.name
+ " = Cookie value:" + cookie.value + "\n");
dump("\tCookie host: " + cookie.host + " Is Domain cookie: " +cookie.isDomain
+ "; Cookie Name :" + cookie.name +" = Cookie value:" + cookie.value
+ "; Is Session Cookie :" + cookie.isSession
+ "; Expiry time :" + cookie.expiry
+ "; It is an Http only cookie :" + cookie.isHttpOnly + "\n");
}
return count;
}
var getResult = getCookies(host);
console.log("Http Cookies: " + getResult);
});
매우 고맙습니다. 도움과 설명이 완벽했습니다. 시간 내 주셔서 감사합니다!! :) – gregSTam