Вы должны не просто удалить куки, но сохранить их и восстановить правильный набор куки, когда это необходимо.Нечто подобное:
function removeAndReturnCookies(host)
{
var removedCookies = [];
var cookieManager = Components.classes["@mozilla.org/cookiemanager;1"]
.getService(Components.interfaces.nsICookieManager2);
var e = cookieManager.getCookiesFromHost(host);
while (e.hasMoreElements())
{
var cookie = e.getNext().QueryInterface(Components.interfaces.nsICookie2);
cookieManager.remove(cookie.host, cookie.name, cookie.path, false);
removedCookies.push(cookie);
}
}
function restoreCookies(cookies)
{
var cookieManager = Components.classes["@mozilla.org/cookiemanager;1"]
.getService(Components.interfaces.nsICookieManager2);
for (var i = 0; i < cookies.length; i++)
{
var cookie = cookies[i];
cookieManager.add(cookie.host, cookie.path, cookie.name, cookie.value,
cookie.isSecure, cookie.isHttpOnly, cookie.isSession,
cookie.expiry);
}
}
var cookies = removeAndReturnCookies("facebook.com");
restoreCookies(cookies);
Я не тестировал этот код, но что-то подобное должно работать.Ссылки на документацию: