0

良い一日!

WebページのDOMを変更する単純なChrome拡張機能があります(より正確には、コメントを並べ替えます)。以下のコードを含むbackground.jsがあります。

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript(
      null, {file : "app.js"});                                                                                                                                                                         
});

したがって、拡張機能のアイコンをクリックすると、app.jsが実行されます。

アイコンをもう一度クリックして、すべての変更をリセットしたいと思います。理想的には、アイコンを3回クリックした場合などに、ページが再度並べ替えられます。これを行う簡単な方法はありますか?

前もって感謝します

4

1 に答える 1

1

Chromeapp.jsでページのDOMに加えられた変更を自動的に元に戻す方法はありませんがapp.js、独自の変更を元に戻すことはできます。2回目に実行されていることを検出するか(挿入されたスクリプトから拡張機能の分離app.jsされた世界にグローバル変数を設定します)、タブごとに1回スクリプトを挿入し、ページを配置する状態を通知するメッセージを送信します。

コンテンツスクリプトにせずにタブごとに1回だけスクリプトを挿入するのは難しいように見えます。これにより、今後のactiveTabアクセス許可を使用できなくなりapp.jsます。そのため、他の理由で1回の挿入を既に保証している場合を除き、覚えておく方がよいでしょう。

于 2012-12-10T00:02:14.997 に答える