Παιδιά είναι κάπως άσχετος με JS και έχω ένα πρόβλημα. Μου έχουν δώσει ένα κώδικα ο οποίος καταγράφει την κίνηση του ποντικιού στην οθόνη και μετά με το πάτημα ενός κουμπιού την επαναλαμβάνει.
όταν πατάμε το
stop_record() function αυτό σταματάει την διαδικασία εγγραφής του mouse path.
Υπάρχει τώρα το Function
savePath() - υπάρχει κάποιος τρόπος να αποθηκεύεται αυτό το path κάπου (πχ txt file, xml, ή κάτι τέτοιο)
Ευχαριστώ πολύ εξ αρχής
Εδώ υπαρχει ενα Demo (νομίζω παίζει μόνο με IE) ->
Demo
Παραθέτω τον κώδικα
var posX, posY;
var path = new Array();
var index = 0;
var Num = 0;
var save = false;
var track = false
begintag = '<font face="Tahoma, Arial" size=1 color=black>'
function moveTo(x,y) // Cursor picture movement
{
rep.style.pixelLeft=x;
rep.style.pixelTop=y;
}
function drawTo(x,y) // Dot movement
{
dot.style.pixelLeft=x*200/screen.width+150;
dot.style.pixelTop=y*150/screen.height+15;
}
function wTo(x,y) // Data showing
{
data.innerHTML=begintag+'['+x+','+y+']</font>';
}
function savePath() // Path save, if you suppose fast mouse movements, reduce TimeOut
{
if((posX && posY) && save)
{
path[index] = posX;
path[index+1] = posY;
index += 2;
setTimeout('savePath()',10);
}
}
function run() //Replay the record
{
if(Num < (path.length-1))
{
moveTo(path[Num],path[Num+1])
drawTo(path[Num],path[Num+1])
wTo(path[Num],path[Num+1])
Num += 2;
setTimeout('run()',10);
}
else Num=0;
}
function cursor()
{
posX=event.x+document.body.scrollLeft;
posY=event.y+document.body.scrollTop;
}
function record()
{
if (!track)
{
index = 0;
save = true;
savePath();
}
else data.innerHTML=begintag+"A path has been recorded in memory.<br>Click 'Reset' if you wish to record new one.</font>";
}
function stop_record()
{
save = false;
index = 0;
time = (path.length/2)*0.1;
cValue = ""+time;
value = cValue.substring(0,4);
s = (cValue.substring(0) == 1 && cValue.indexOf(".") == -1)?"":"s";
data.innerHTML=begintag+"Time recorded in memory: "+value+" second"+s+" with interval 0.1s</font>";
track = true;
}
function reset()
{
rep.style.pixelLeft=50
rep.style.pixelTop=150
dot.style.pixelLeft=160;
dot.style.pixelTop=40;
data.innerHTML='';
posX=posY='';
path = new Array();
index = 0;
Num = 0;
save = false;
track = false;
}
document.onmousemove = cursor;