Firefox扩展:多次调用onProgressChange

Firefox扩展:多次调用onProgressChange,firefox,firefox-addon,Firefox,Firefox Addon,我试图在为firefox开发扩展时捕获页面加载事件。我正在为此使用ProgressListeners。我不能使用onLocation更改事件,因为它在用户每次切换选项卡时都会触发一个事件。我只想记录他访问过的每一个新页面。OnProgressChange对我有效,但每页都会触发多次。如何为每页记录一个条目。还有什么我需要听的活动吗 提前感谢。onProgressChange用于通知进度,因此它当然被多次调用 当用户切换选项卡时,您会看到onLocationChange,因为您将进度侦听器附加到了

我试图在为firefox开发扩展时捕获页面加载事件。我正在为此使用ProgressListeners。我不能使用onLocation更改事件,因为它在用户每次切换选项卡时都会触发一个事件。我只想记录他访问过的每一个新页面。OnProgressChange对我有效,但每页都会触发多次。如何为每页记录一个条目。还有什么我需要听的活动吗


提前感谢。

onProgressChange
用于通知进度,因此它当然被多次调用

当用户切换选项卡时,您会看到
onLocationChange
,因为您将进度侦听器附加到了选项卡浏览器,而不是单个选项卡


您可以尝试--从转储您获得的所有事件开始,然后根据需要选择
onLocationChange
onStateChange

onProgressChange
用于通知进度,因此它当然被多次调用

当用户切换选项卡时,您会看到
onLocationChange
,因为您将进度侦听器附加到了选项卡浏览器,而不是单个选项卡


您可以尝试--首先转储您获得的所有事件,然后根据需要选择
onLocationChange
onStateChange

您可以通过在每个chrome窗口中的
appcontent
元素上附加一个
DOMContentLoaded
侦听器来捕获页面加载。像这样:

var LoadTest = {
    // chrome window loaded
    onload: function() {
        var appContent = document.getElementById("appcontent");
        appContent.addEventListener("DOMContentLoaded", function(e) {
            alert("page loaded");
        }, true);
    }
};

window.addEventListener("load", LoadTest.onload, false);

加载新的chrome窗口时,将执行
LoadTest.onload
方法。每次访问页面或打开选项卡时,监听
DOMContentLoaded
的函数都将加载。

您可以通过在每个chrome窗口中的
appcontent
元素上附加
DOMContentLoaded
侦听器来捕获页面加载。像这样:

var LoadTest = {
    // chrome window loaded
    onload: function() {
        var appContent = document.getElementById("appcontent");
        appContent.addEventListener("DOMContentLoaded", function(e) {
            alert("page loaded");
        }, true);
    }
};

window.addEventListener("load", LoadTest.onload, false);
加载新的chrome窗口时,将执行
LoadTest.onload
方法。每次访问页面或打开选项卡时,都会加载侦听
DOMContentLoaded
的函数