Firefox ブラウザーでユーザーのアクティビティを監視したいのですが、現在のタブの location.href を知る必要があります。これにはcontent.location.hrefを使用しますが、この location.href が変更されたときにコードが必要です。どのイベントをリッスンする必要があり、ブラウザー内のどのオブジェクトであるかを知る必要があります。
私のコードの一部:
window.addEventListener("load", function load(event){
    window.removeEventListener("load", load, false);
    myExtension.init();
},false);
var myExtension = {
  init: function() {
    var appcontent = document.getElementById("appcontent");
    appcontent.addEventListener("blur", myExtension.onPageBlur, true);
    appcontent.addEventListener("load", myExtension.onPageLoad, true);
    appcontent.addEventListener("focus", myExtension.onPageFocus, true);
  },
  onPageBlur: function () {
    // Doing something when there is no focus
  },
  onPageFocus: function(aEvent) {
    // Doing something when we get focus
  },
  onPageLoad: function(aEvent) {
    // Doing something on page load
  }
};
このコードは機能しますが、ブラウザーのロケーション バーをクリックすると、少し望ましくない動作が発生し、blur イベントが発生し、location.href が変更された場合 (focus および load イベントが発生)、location.href の操作が困難になります。 、ユーザー アクティビティのデータを保存するときに最適化するために、いくつかの手直しが必要です
コードに次の動作が必要です。
- タブ選択で動作
- タブの location.href の変更に対応
- ブラウザの複数のウィンドウで動作します
前もって感謝します。