1

page-mod を使用して、開いているすべてのタブにコンテンツ スクリプトをアタッチしています。

その後、特定の瞬間/イベントで、開いているすべてのタブからすべての添付コンテンツスクリプトを削除したい!

どうやってやるの ?....すでにsdk 1.11を使用しています

myPanel.port.on('userlogged', function(rdata) {

    var workers= [];

            function detachWorker(worker, workerArray) {
                var index = workerArray.indexOf(worker);
                if(index != -1) {
                    workerArray.splice(index, 1);
                }
            }


            var pMod = pageMod.PageMod({
                include: "*",
                contentScriptWhen: "end",
                contentScriptFile: data.url("sas_tb.js"),
                attachTo: ["existing", "top", "frame"],
                onAttach: function(worker) {
                    workers.push(worker);
                    worker.on('detach', function () {
                        detachWorker(this, workers);
                    });

                    worker.port.emit('logged', rdata.logged);

                }
            });
});

contentScriptFile はブラウザで開いているすべてのタブに添付されますが、アドオンからログアウトしたい場合は、添付されているすべてのタブ/ワーカーから contentScriptFile を削除するにはどうすればよいですか?

4

1 に答える 1

1

Worker のdestroyメソッドを明示的に呼び出すと、SDK がコンテンツ スクリプトを処理します。

于 2012-12-03T13:53:55.307 に答える