我想在开发Firefox的扩展时捕获页面加载事件。我为此使用ProgressListeners。我无法使用onLocation更改事件,因为每次用户切换选项卡时都会触发事件。我只想记录他访问过的每一个新页面。 OnProgressChange适用于我,但每页触发多次。我该如何记录每页一个条目。还有其他需要听的活动吗?Firefox扩展:多次调用onProgressChange
在此先感谢..
我想在开发Firefox的扩展时捕获页面加载事件。我为此使用ProgressListeners。我无法使用onLocation更改事件,因为每次用户切换选项卡时都会触发事件。我只想记录他访问过的每一个新页面。 OnProgressChange适用于我,但每页触发多次。我该如何记录每页一个条目。还有其他需要听的活动吗?Firefox扩展:多次调用onProgressChange
在此先感谢..
onProgressChange
用于有关进度的通知,所以当然,它被称为多次。
当用户切换选项卡时,您看到onLocationChange
,因为您将进度侦听器附加到tabbrowser而不是单个选项卡。
您可以尝试listening to (progress) events on all tabs - 首先倾销您获得的所有活动并根据您的需要选择onLocationChange
或onStateChange
。
您可以通过在每个镶边窗口中将DOMContentLoaded
侦听器附加到appcontent
元素来捕获页面加载。像这样:
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
的函数都会加载。