0

ユーザーが非アクティブなときに、Firefox 拡張機能内で観察しようとしています。私の現在の解決策は、ここにある同様の質問から派生しています(受け入れられた回答を参照)。そして、それは基本的にうまく機能します。

ただし、開いている複数のブラウザ ウィンドウを区別していないように見えることに気付きました。つまり、ユーザーは、あるウィンドウでアクティブになり、別のウィンドウで非アクティブになることはできません。現時点では、アクティブ/非アクティブ状態は、すべての Firefox ウィンドウにわたるグローバルな状態です。したがって、ユーザーが開いているすべてのブラウザー ウィンドウでアクティブな場合、ユーザーは実際には非アクティブになります。

異なるウィンドウを区別する方法はありますか、それとも対処する必要がありますか (それほど悪くはありませんが、それでも...)? それについてのヒントをありがとう!

4

2 に答える 2

2

これは、自分で実装する必要があるものです。また、「特定のウィンドウで非アクティブ」という意味にも大きく依存します。このウィンドウでマウスとキーボードのアクティビティが不足していることを意味していると思います。したがって、、、、、、、、、、イベントのリスナーkeydownを追加する必要があります。これらのイベントのリスナーは、たとえば 1 分間のタイムアウトを設定します。ただし、既存のタイムアウトがある場合は、最初にそれをクリアします。このようにして、最後にイベントを受信して​​から 1 分後、ユーザーがウィンドウ内で生成されたキーボードまたはマウス イベントを停止してから 1 分後に、タイムアウトが発生します。keyupmousemovemousedownmouseupDOMMouseScrolltouchstarttouchendtouchmove

于 2012-08-05T00:17:15.540 に答える
0

subjectオブザーバーが渡すパラメーターは、現在アクティブなブラウザー ウィンドウのウィンドウである必要があります。

于 2012-08-04T19:26:34.363 に答える