该代码将鼠标移动坐标存储在数组中,并且应该在卸载之前将其发布。但是它不发布。如果我改变
名称:移动 至 名:“布拉布拉”
有用。表示问题出在“ moves”变量上。我该如何运作?
$(document).ready(function(){ var moves = []; $("html").mousemove(function(e){ moves.push(e.pageX + "x" + e.pageY) }); window.onbeforeunload = function() { $.ajax({ type: "POST", url: "mailyaz.php", data: { name: moves; } }); }); });
你可以试试看 这是我几个月前开发的一个小例子。在这种情况下,坐标存储在文本文件中,但是您可以使用INSERT替换它到数据库中。
在客户端上输入:
var moves = ""; //Now an String to store the Coords $(document).ready(function(){ //When you moves the mouse inside the Page then //concat the Coords into the String var and add a Line-Brak at the end $("html").mousemove(function(e){ moves += (e.pageX + " x " + e.pageY + "\n"); }); //Here the magic happen: bind a function to onbeforeunload event that POST //the String to the server $(window).bind('beforeunload', function() { $.post("server.php",{name:moves}); }); });
现在,您需要在服务器端创建一个名为server.php的页面,其中包含
//Capture the String $cursorMoves = ($_POST['name']); $myFile = "testFile.txt"; $fh = fopen($myFile, 'w'); fwrite($fh, $cursorMoves); fclose($fh);