我正在尝试在为firefox开发扩展时捕获页面加载事件。我正在使用ProgressListeners。我不能使用onLocation更改事件,因为它会在每次用户切换选项卡时触发事件。我只想记录他访问过的每个新页面。 OnProgressChange适用于我,但每页多次触发。如何为每页一个条目记录此项。还有其他需要听的事吗?
提前致谢..
答案 0 :(得分:0)
onProgressChange
用于有关进度的通知,因此当然会多次调用。
当用户切换标签时,您会看到onLocationChange
,因为您将进度监听器附加到tabbrowser,而不是单个标签页。
您可以尝试listening to (progress) events on all tabs - 首先转储您获得的所有活动,然后根据您的需要选择onLocationChange
或onStateChange
。
答案 1 :(得分:0)
您可以通过将DOMContentLoaded
侦听器附加到每个Chrome窗口中的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
的函数。