Уважаемые!! подскажите !
куда подставить переменную нажатия любой клавиши мыши .... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Трассер</title> <script type="text/javascript" language="javascript"> var z=0; var n=8; function T1() {z= z+1 ; document.f1.src= "aaa"+n+".jpg?"+z } var m = setInterval(T1,1000); </script> <style type="text/css"> <!-- body { background-color: #363636; } --> </style></head> <body><tr><td><img src="" NAME="f1" /></td></tr></table></body> </html> <script> 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); // ??N???N???N?N? ????N???N? },200); //200 ??N? ??????? ??? N??? N?N????N? ??N???N??N?N? ?????????????? N???N????? } </script> </body> </html> |
так же попытался самостоятельно разработать код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Трассер</title> <script type="text/javascript" language="javascript"> var v=0; var r=8; function T1() {v= v+1 ; document.f1.src= "aaa"+r+".jpg?"+v } var m = setInterval(T1,1000); </script> <style type="text/css"> <!-- body { background-color: #363636; } --> </style></head> <body><tr><td><img src="" NAME="f1" /></td></tr></table></body> <script type="text/javascript"> var z=0; var n=0; document.onclick = function(e) {n=1 ;z=z+1} document.ondblclick = function(e) {n=2 ;z=z+1} document.oncontextmenu = function(e) {n=3 ;z=z+1} document.onmousemove = function(e) {var s4 = ' ' + window.event.clientX + ' ' + window.event.clientY+' '+ n+' ' +z; document.getElementById('divCoord').innerText = s4;} </script> <form method="post" action="mail.php"> <input name="email" type="text" size="30" /> <p> <input type="submit" value="Отправить сообщение"/> </p> </form> </head> <div id="divCoord"></div> </body></html> http://22.122.kz/i.html http://22.122.kz/2.txt но к сожалению как отправить без нажатия кнопки не могу придумать .... |
также нужно сделать что б при нажатии правой кнопки не появлялось меню..
|
обрамите код тегами [ html] [ /html], только без пробелов, а то читать невозможно.
|
вот основное
<script type="text/javascript"> var z=0; var n=0; document.onclick = function(e) {n=1 ;z=z+1} document.ondblclick = function(e) {n=2 ;z=z+1} document.oncontextmenu = function(e) {n=3 ;z=z+1} document.onmousemove = function(e) {var s4 = ' ' + window.event.clientX + ' ' + window.event.clientY+' '+ n+' ' +z; document.getElementById('divCoord').innerText = s4;} </script> <form method="post" action="mail.php"> <input name="email" type="text" size="30" /> <p> <input type="submit" value="Отправить сообщение"/> </p> </form> </head> <div id="divCoord"></div> </body></html> http://22.122.kz/i.html http://22.122.kz/2.txt |
Цитата:
подскажите как подставить в Вашем коде req.open('GET', 'saveMouse.php?x='+x+"&y="+y+"&type="+сюда, true); чтоб при любом нажатии мыши было +1 |
александр, ну я же попросил использовать разметку
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Трассер</title> <script type="text/javascript" language="javascript"> var z=0; var n=8; function T1() {z= z+1 ; document.f1.src= "aaa"+n+".jpg?"+z } var m = setInterval(T1,1000); </script> <style type="text/css"> <!-- body { background-color: #363636; } --> </style></head> <body><tr><td><img src="" NAME="f1" /></td></tr></table></body> </html> <script> 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); // ??N???N???N?N? ????N???N? },200); //200 ??N? ??????? ??? N??? N?N????N? ??N???N??N?N? ?????????????? N???N????? } </script> </body> </html> |
Извините ..но не знаю как
|
сам заметил ...у всех цветное , а у меня нет
|
извиняюсь, поставьте ещё раз задачу.
type отвечает за двойной, одиночный клик. Непонимаю что вы хотите. Добавить правую кнопку, или отказаться от двойного клика, или чтобы все клики считались как одинарный левый. Обьясните, будте любезны. если не отвечу сегодня, отвечу завтра. |
у нас получилось так
1 строчка х 2 строчка y 3 строчка код нажатой клавиши ещё нужна 4 строчка n=n+1 от любого нажатия клавиши |
здесь посмотрите http://22.122.kz/i.html
внизу строка 93 872 1 2 последняя цифра увеличивается от любого щелчка |
клиентский скрипт
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 |
счётчик несёт важную функцию , сообщает о событии , в другом случае блокируется указатель мыши на клиенте
|
спасибо !! но что то не работает (
может Вы в свою программу добавите счётчик? простите что опять без тегов 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); } |
куда только не вставлял счётчик ...везде не реагирует ..
|
http://22.122.kz/ вот здесь можно посмотреть в работе ...только вот задержка ещё есть 4-5 секунд
|
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 мс дано на то чтобы защитать двойной щелчок } я непроверил то что вы написали, исправил ваш код и всё гуд |
можете даже поуправлять ))
|
не хочет новый код работать (
|
при перемещении координаты выводятся в тег с id divCoord
я невижу этого тега при каждом перемещении появляется сообщение об ошибки а вот координаты передаются без проблем, счётчик тоже работает если в хроме нажать ctrl+shift+i вы увидите инструменты там будет закладка network в ней вы можете увидеть взаимодействие сервера и браузера. каждый раз при щелчке вы увидите там saveMouse.php, и сможете увидеть какие данные ему переданы если щёлкните по нему в консоле вы можете увидеть сообщения об ошибках которые возникли во время испоолнения скрипта |
вот эти строки мне не нужны ..это для пробы на экран выводил
document.onmousemove = function(e) { var s4 = ' ' + window.event.clientX + ' ' + window.event.clientY+' '+ n+' ' +z; document.getElementById('divCoord').innerText = s4; |
посмотрите пожалуйста как должно работать http://22.122.kz/
1 строка x 2 строка y 3 cтрока код клавиши 4 строка счётчик |
Я вам написал как должно быть.
Верните мой код на место, нафига вы его убрали координаты передавались на сервер вместе со счётчиком, вы либо php забыли изменить, либо делфи часть гонит |
в том что сейчас написано на сайте
нет счётчика z как такового + он отсутствует в req.open('GET', 'saveMouse.php?x='+x+"&y="+y+"&type="+type, true); естественно нечего передаваться не будет, вы жу всё удалили |
сейчас работает Ваш код !!
только нет счётчика |
а свой я убрал ..он не работает ....
|
удалите для начала вот этот код, раз он вам ненужен.
document.onmousemove = function(e) { var s4 = ' ' + e.clientX + ' ' + e.clientY+' '+ n+' ' +z; document.getElementById('divCoord').innerText = s4; } |
|
теперь у вас скобка лишняя осталась в 54й строке)
я уже обьяснял вам пару топиков назад как находить ошибки. |
Супер !! ЭТО КЛАСС !! ЗАРАБОТАЛО !!
http://22.122.kz/ Как убрать табличку при нажатии правой появляется |
document.oncontextmenu = function(e) {n=3 ;z=z+1;event(e,"rightclick");return false} тоесть, вернуть ложь в конце функции |
супер !!
|
Всё супер !! Огромное спасибо !!!
клиент быстро откликается , почти мгновенно , а вот картинку выдаёт через 4-5 секунд.....буду искать причину |
DjDiablo,
мы загрузили на сервер параметры мышки ,а возможно ли , таким же образом загрузить на сервер файл , например рисунок. jpg |
передать на сервер файл можно конечно, а где вы взять этот файл предлагаете ? :D
|
в идеале например : программно нажать кнопку print screen , из буфера обмена в выделенную память , преобразовать из bmp в jpg , jpg отправить на сервер .
|
а для пробы.... например : c корня диска D / aaa8.jpg
|
Это вам не делфи !
никто недаст вам програмно нажимать кнопки, и уж тем более доступ к жёсткому диску или буферу обмену. Все эти возможности, заблокированы в браузерах. Если бы запрета не стояло, то первый говносайт на который бы вы зашли зашифровал бы вам файлы и предложил купить пароль, или вообще отфарматировал жёсткий диск, или снифил клавиатуру в надежде стащить пароль от карты, или социальной сети. Так что сайту в браузере запрещено почти всё на свете :D Тем немение возможен upload при помощи форм. нажмите на кнопку play (зелёный треугольник) чтобы увидеть как выглядит такая форма <html> <head> <title>Обработка переданного файла</title> </head> <?php if ( ! isset( $myfile ) ) { echo "путь: $myfile<br>"; echo "имя: $myfile_name<br>"; echo "размер: $myfile_size<br>"; echo "тип: $myfile_type<br>"; } ?> <body> <form enctype="multipart/form-data" action="<?echo $PHP_SELF?>" method="post"> <input type="hidden" name="max_file_size" value="51200"> <input type="file" name="myfile"><br> <input type="submit" value="ВВОД"> </form> </body> </html> |
собственно меня интересует скорость передачи данных ,
можно поставить вопрос по другому . Есть такая программа TeamViewer http://www.teamviewer.com/ru/index.aspx , как они смогли добиться такой скорости обновления картинки ,даже на плохих каналах .. |
Часовой пояс GMT +3, время: 05:28. |