Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   координаты мышки в текстовый файл (https://javascript.ru/forum/dom-window/32878-koordinaty-myshki-v-tekstovyjj-fajjl.html)

Александр 60 лет 19.11.2012 22:38

у нас получилось так
1 строчка х
2 строчка y
3 строчка код нажатой клавиши
ещё нужна 4 строчка n=n+1 от любого нажатия клавиши

Александр 60 лет 19.11.2012 22:41

здесь посмотрите http://22.122.kz/i.html

внизу строка 93 872 1 2 последняя цифра увеличивается от любого щелчка

DjDiablo 20.11.2012 10:18

клиентский скрипт
function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}


var z=0;
var n=0;

document.onclick = function(e)        {n=1 ;z=z+1;event(e,"click")}
document.ondblclick = function(e)     {n=2 ;z=z+1;event(e,"dblclick")}
document.oncontextmenu = function(e)  {n=3 ;z=z+1,event(e,"rightclick")}


document.onmousemove = function(e) {
    var s4 = ' ' + window.event.clientX +  '  ' + window.event.clientY+' '+ n+' ' +z;
    document.getElementById('divCoord').innerText = s4;
}


function event(evnt,type){
        clearTimeout(t);
	t=setTimeout(function(){
	        var x=evnt.pageX,
	               y=evnt.pageY,
	               req = getXmlHttp();
	
	         req.open('GET', 'saveMouse.php?x='+x+"&y="+y+"&type="+type+"&z="+z, true); 
	         req.send(null);  // отослать запрос
	},200); //200 мс дано на то чтобы защитать двойной щелчок

}


серверный скрипт.
$file = fopen ("file.txt","w");
    $str=$_GET['x']."\n".$_GET['y']."\n".$_GET['type']."\n".$_GET['z'];
    if ( !$file )
	{
		echo("Ошибка открытия файла");
	}
	else
	{
		fputs ( $file, $str);
	}

    fclose ($file);


непроверял но вроде должон работатать.

суть та же.
при щелчке левой или правой кнопкой мыши на сервер передаются координаты щелчка, код кнопки, и счётчик Z

счётчик можно было реализовать и на delphi не понимаю, нафига он вам вообще:D

Александр 60 лет 20.11.2012 10:54

счётчик несёт важную функцию , сообщает о событии , в другом случае блокируется указатель мыши на клиенте

Александр 60 лет 20.11.2012 10:56

спасибо !! но что то не работает (

может Вы в свою программу добавите счётчик?
простите что опять без тегов


function getXmlHttp(){
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
document.addEventListener("contextmenu",function(e vnt){ event(evnt,"3")} );
document.addEventListener("dblclick",function(evnt ){ event(evnt,"2")} );
document.addEventListener("click",function(evnt){ event(evnt,"1") } );

var t;
function event(evnt,type){
clearTimeout(t);
t=setTimeout(function(){
var x=evnt.pageX-10,
y=evnt.pageY-10,
req = getXmlHttp();

req.open('GET', 'saveMouse.php?x='+x+"&y="+y+"&type="+счётчи к, true);
req.send(null);
},200);

}

Александр 60 лет 20.11.2012 11:03

куда только не вставлял счётчик ...везде не реагирует ..

Александр 60 лет 20.11.2012 11:12

http://22.122.kz/ вот здесь можно посмотреть в работе ...только вот задержка ещё есть 4-5 секунд

DjDiablo 20.11.2012 11:12

var t;
function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}


var z=0;
var n=0;

document.onclick = function(e)        {n=1 ;z=z+1;event(e,"click")}
document.ondblclick = function(e)     {n=2 ;z=z+1;event(e,"dblclick")}
document.oncontextmenu = function(e)  {n=3 ;z=z+1,event(e,"rightclick")}


document.onmousemove = function(e) {
      var s4 = ' ' + e.clientX +  '  ' + e.clientY+' '+ n+' ' +z; 
    document.getElementById('divCoord').innerText = s4;
    
}


function event(evnt,type){
        clearTimeout(t);
	t=setTimeout(function(){
	        var x=evnt.pageX,
	               y=evnt.pageY,
	               req = getXmlHttp();
	
	         req.open('GET', 'saveMouse.php?x='+x+"&y="+y+"&type="+type+"&z="+z, true); 
	         req.send(null);  // отослать запрос
	},200); //200 мс дано на то чтобы защитать двойной щелчок

}


я непроверил то что вы написали, исправил ваш код и всё гуд

Александр 60 лет 20.11.2012 11:14

можете даже поуправлять ))

Александр 60 лет 20.11.2012 11:25

не хочет новый код работать (


Часовой пояс GMT +3, время: 02:03.