我想在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已更改,则难以使用location.href(焦点和加载事件被激活),在保存用户活动数据时需要一些返工来优化
我需要代码有这种行为:
提前谢谢。
答案 0 :(得分:1)
你应该using a progress listener。每当当前标签的位置发生变化时,系统都会调用onLocationChange
,您只需要查看aURI.spec
。相同的方法用于更新Firefox中的位置栏。