第一篇文章,大家好! 我正在为研究创建一个chrome扩展,需要跟踪用户的浏览器交互,基本上跟踪他们在执行信息搜索任务时访问的网页。
我已经阅读了很多关于SO和各种文档(mozilla开发人员,w3schools)关于跟踪URL的示例,例如哈希更改,popstate更改等,并且找到了
setInterval(function(){ console.log("Currently URL is " + window.location.href); }, 1000);
非常直截了当,尽管做了一些矫枉过正的事情。它会运行,但如果我在第一页之外导航,它就会停止跟踪,这就是重点。我知道如果窗户关闭,间隔会停止,但事实并非如此?我也试过document.URL
没有快乐。
对评论的回应
澄清一下,我想要做的是观察人们与之互动的网站,当他们在谷歌搜索页面和他们查看的各种网站之间穿梭时。我使用间隔的原因是因为它不仅仅是制表切换,尽管这是我需要注意的一种互动。我认为,如果我每隔一秒或半秒检查一次URL中的更改,那么它就不会为超链接,标签等提供多个事件监听器,而是会识别用户是否正在浏览网站。我想,如果用户使用多个标签/窗口,那么间隔不起作用?但在我的测试案例中,我不是,所以我不知道为什么间隔会停止。我希望这有助于澄清。
感谢任何帮助。
答案 0 :(得分:0)
来自SO以外的朋友的回答:
它不跟踪第一页的原因是因为清单指定应在每个Google搜索结果页面上加载contentScript。因此,如果用户离开Google结果页面,则扩展程序不会加载脚本,并且扩展程序不会执行任何操作。您可以将间隔位置跟踪移动到单独的后台脚本吗?