使用javascript,如何确定DIV可见的时间,然后将该时间长度记录到本地数据库中

With javascript how do you time when a DIV is visible and then record that time length to a local DataBase

本文关键字:时间 记录 数据库 然后 何确定 javascript DIV 使用      更新时间:2023-09-26

我正试图记录一个人在iOS设备上查看时在网络应用程序的页面上停留的时间,然后将这个数字记录到本地数据库中,如果超过2秒。当然,该应用程序是用HTML5/CSS3/JavaScript编写的,所以页面实际上只是一个DIV,可以在iDevice上滑动、淡入淡出等。

该应用程序将离线使用,数据将在本地记录,直到用户转到服务器用每周内容更新应用程序。届时,本地数据库中的内容将被传输到服务器。

我创建了一个数据库(CBNapp)和必要的表格(CBNap_Usage),每个页面都有一列(NewKnife、Trivia、True、Musings、Jokes、Movies、Stories)。我的想法是将每一次都记录到适当的栏中。通过这种方式,我可以计算每列下的条目以获得页面访问量,并使用实际秒数来确定页面访问的平均长度等。然后,我会记录下载到服务器的时间,并将其从之前的下载日期中减去,以获得记录使用量的时间框架。

我已经研究了一段时间,在的stackoverflow上遇到了一个问题

jQuery:如何在div可见时为其绑定事件?

这有一个答案(最后一个对我来说似乎是最好的),我认为它会起作用,但我似乎无法将其转移到我的特定需求。这是我的第一个网络应用程序。我对HTML和CSS还可以,但对JavaScript和jQuery还是个新手,所以我需要具体的例子来理解。请温柔:-)

我需要记录访问的DIV都有一个class of "root",ID如下:

ContentNewKnife
ContentTrivia
ContentTrue
ContentMusings
ContentJokes
ContentMovies
ContentStories

我试图使用以下识别DIV

    var ContentPages = $("div#[id*=Content]") and $(div.root);

从而抛出错误。

有人能告诉我如何使用上面引用的代码或使用一种全新的方法来完成我想要完成的任务吗。

欢迎提出任何想法。

谢谢,

Ted

好的,你需要做的第一件事就是捕捉时间。

我开始一个间隔,每秒钟更新一次(1000毫秒)。这四舍五入你会注意到的秒数。如果你想更精确,你可以让计时器计时500毫秒甚至100毫秒,然后除以秒)。

然后在现有的页面前和页面后转换事件上触发启动和停止。

http://jsfiddle.net/TheFiddler/akEEx/6/

与其从头开始构建,不如考虑使用开箱即用的移动分析程序:

我推荐http://www.localytics.com/

但这些也可能起作用:

https://mixpanel.com

http://urbanairship.com/

http://www.flurry.com/

这样做的好处是,您可以捕获的不仅仅是页面或内容上的时间。它可以与任何你想做的在线内容集成。