サイト A のボタンがクリックされたときにサイト B から Cookie を削除するイベントをトリガーする関数を Firefox 拡張機能に追加しようとしています。サイト A と B はドメインを共有していませんが、サイト B はサイト A に挿入された iframe で実行されています。サイト B からの Cookie。
ボタンに割り当てられたクリックリスナーと発火があります。拡張機能を使用して、Google Chrome でこれと同じ効果を既に達成しています。コンポーネントの使用に関するエラーが表示されますが、コンポーネントの代わりに使用するソリューションが見つかりませんでした。Firefox 22 以降でのみ動作する必要があります。addon-sdk-1.14 を使用して拡張機能を開発しています。
ContentScript.js
function DeleteCookies() {
var payload="Delete";
self.port.emit("Delete", payload);
}
Main.js
var {Cc, Ci} = require("chrome");
pageMod.PageMod({
include: "*",
contentScriptFile: [ self.data.url("jquery-1.9.1.js")
,self.data.url("script.js")],
onAttach: function(worker) {
worker.port.on('Delete',function (){ DeleteCookies();});
}
});
function DeleteCookies() {
var cookieManager = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager);
var domain= "siteB.com";
var iter = cookieManager.enumerator;
var cookie_count = 0;
while (iter.hasMoreElements()) {
var cookie = iter.getNext();
if (cookie instanceof Ci.nsICookie) {
if (domain.indexOf(cookie.host.toUpperCase()) != -1) {
cookieManager.remove(cookie.host, cookie.name, cookie.path, cookie.blocked);
cookie_count++;
}
}
}
};