7

Chrome 拡張機能を開発しています。

イベントリスナーを に追加しようとしましたchrome.runtime.onSuspendが、呼び出されません。

次のコードを使用しますが、localStorage は変更されず、コンソールにもログ メッセージはありません (--enable-logging --v=1ログ メッセージをファイルに保存するために使用します)。

chrome.runtime.onSuspend.addListener(function() {
  localStorage["suspend"] = new Date();
  console.log("On suspend");
});

テストボックス: WinXP SP3 x86 with Chrome 28.0.1500.72 m

この問題を簡単に再現するためのテスト拡張機能を作成しました。

manifest.json

{
  "manifest_version": 2,

  "name": "Chrome onSuspend test",
  "version": "1.0",

  "background": { 
    "scripts": ["background.js"] }
}

background.js

chrome.runtime.onSuspend.addListener(function() {
  localStorage["suspend"] = new Date();
  console.log("On suspend");
});
4

1 に答える 1

12

onSuspendイベントは、イベント ページが非アクティブになったときにのみトリガーされます。

persistent: falseマニフェスト ファイルで宣言していないため、背景ページはイベント ページではなく背景ページです。したがって、ページが非アクティブになることはなく、イベントがトリガーされることもありません。onSuspend

イベントページで背景ページを回転させたい場合は、

...
    "background": { 
        "scripts": ["background.js"],
        "persistent": false
    }
}
于 2013-07-23T10:58:03.973 に答える