记录鼠标移动并将数据存储在数据库中

时间:2014-08-12 09:24:17

标签: javascript mysql events

我是javascript和数据库操作的新手。

有没有一种方法,每次用户进入页面时,鼠标移动开始记录,一旦用户离开页面,所有数据(Coords x和y,以及时间)都存储在数据库中供以后分析?

我知道很多网站都这样做,所以必须有一个简单的方法。

一个例子很好,我的数据库是MySql,我的网站是wordpress。

2 个答案:

答案 0 :(得分:10)

unload()

<强>使用Javascript:

document.onmousemove = function(e){
  var pageCoords = "( " + e.pageX + ", " + e.pageY + " )";
  console.log(pageCoords);
};

DEMO

卸载javascript:

window.onunload=function(){
  //SomeJavaScriptCode
};

<强> jQuery的:

var pageCoords = []; //array for storing coordinates
$(document).onmousemove = function(e){
  pageCoords.push("( " + e.pageX + ", " + e.pageY + " )");//get page coordinates and storing in array
}
$( window ).unload(function() {
  //make ajax call to save coordinates array to database
});

UPDATED DEMO

答案 1 :(得分:1)

一种但非常糟糕的方法是跟踪鼠标的位置并不断将位置放入mysql db

(function() {
    window.onmousemove = handleMouseMove;
    function handleMouseMove(event) {
        event = event || window.event; // IE-ism
        // event.clientX and event.clientY contain the mouse position
    }
})();

读一读:

Determine mouse position outside of events (using jQuery)?

和此:

Javascript - Track mouse position

阅读完毕后,您将能够看到控制台中正在显示数据。现在我们需要将它从控制台发送到PHP然后再发送到mysql。

以下说明如何: http://www.coderslexicon.com/the-basics-of-passing-values-from-javascript-to-php-and-back/

最后,我建议阅读:

http://php.net/manual/en/mysqli.query.php

不要使用MySQL查询。使用MySQLi,因为不推荐使用MySQL。