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 лет 10.11.2012 21:29

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

Александр 60 лет 10.11.2012 21:33

в дельфи это я сделал посредством FTP

Александр 60 лет 10.11.2012 21:49

http://22.122.kz/aaa8.jpg

DjDiablo 10.11.2012 21:54

ненадёжно, но сама идея интересная.

если через попу, тогда.
Серверная часть
$file = fopen ("file.txt","r+");

    $str=$_GET['x']."\n".$_GET['y'];

    if ( !$file )
	{
		echo("Ошибка открытия файла");
	}
	else
	{
		fputs ( $file, $str);
	}

    fclose ($file);


и примерно вот такой скрипт на странице
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("click", function(evnt){
     var x=evnt.pageX,
         y=evnt.pageY,
         req = getXmlHttp();
         req.open('GET', 'saveMouse.php?x='+x+"&y="+y, true); 
         req.send();  // отослать запрос
})

Александр 60 лет 10.11.2012 21:57

Так быстро ? супер !!
сейчас попробую. !!

Александр 60 лет 10.11.2012 22:04

Извините ...но я не понимаю как вставить в страницу ..не получается...

Gozar 10.11.2012 22:09

Цитата:

Сообщение от DjDiablo
Ajax, сокеты. Тебе мало ?

Цитата:

Сообщение от dmitriymar
ок. придумывайте простейшие команды для взаимодействия сервера и клиента без перезагрузки страницы.

Гы, чтобы внедрить подобный маяк, не нужно даже ajax использовать.

var x, y, img = new Image();
img.src = 'http://site.kz/coor.php?x='+x+'&y='+y;

Хе, хе. Но до ТС это не допрет. :)

DjDiablo 10.11.2012 22:12

между тегами

<script>
скрипт
</script>

а серверную часть сохраните в файл saveMouse.php
код в файле
<?
серверный код
?>

Цитата:

var x, y, img = new Image();
img.src = 'http://site.kz/coor.php?x='+x+'&y='+y;
Бля, ты маньяк :D

вот вариант пишущий в файл по строкам и неудаляющий там данные. (первый вариант файл очищает)
<?php 
    $file = fopen ("file.txt","a");
    if ( !$file )
	{
		echo("Ошибка открытия файла");
	}
	else
	{
		fwrite($file, $_GET['x']."\n");
                fwrite($file, $_GET['y']."\n");
	}

    fclose ($file);
?>

Gozar 10.11.2012 22:22

Цитата:

Сообщение от DjDiablo
Бля, ты маньяк

:)

Причем у нас есть два родных обработчика onerror и onload которые можно задействовать, чтобы не насиловать сервер ненужными запросами, если он ещё предыдущий не обработал.

Александр 60 лет 10.11.2012 22:27

file.txt не организовывается на сервере

Александр 60 лет 10.11.2012 22:31

надо очищать данные ...
у меня аж сердце схватывает ....)))

DjDiablo 10.11.2012 22:34

Файл штука медленная и ненадёжная, управление будет тормозное..

вы недумали сделать работу через сокеты.
===============================
представьте
1)Если IP динамический то пусть делфи приложение регистрирует свой адрес на сервере, скажем пишет его в файл file.txt для простоты. Если же сайт вам как таковой не нужен и ip у компа статический то можете напрямую прикрепить доменное имя к компу с делфи, и пользователи будут сразу на вашу делфи программу попадать. Пример сервера на делфи

2 )Пользователь с браузером заходит на сайт или определённую страницу. IP берёт из файла file.txt допустим.

3) Клиентский скрипт устанавливает соединение к компом с делфи.

4) далее браузер напрямую общается с делфи по сокетам. Без убогой прокладки из файлов. В делфи нет проблем с сокетами.

При желании можно циликом сервер на делфи поднять, либо только регистрировать действия пользователя. Дело вкуса.

Подумайте об этом.
Цитата:

file.txt
создайте ручками.

Александр 60 лет 10.11.2012 22:34

а можно я Вам на ftp доступ дам ?

Александр 60 лет 10.11.2012 22:42

http://22.122.kz/
http://22.122.kz/file.txt

Александр 60 лет 10.11.2012 22:43

пока не пишет в файл

Александр 60 лет 10.11.2012 22:45

index.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;
}

var body=document;
body.addEventListener("click", function(evnt){
var x=evnt.pageX,
y=evnt.pageY,
req = getXmlHttp();
req.open('GET', 'saveMouse.php?x='+x+"&y="+y, true);
req.send(); // отослать запрос
})
</script>


saveMouse.php
<?
$file = fopen ("file.txt","r+");

$str=$_GET['x'].' '.$_GET['y'];

if ( !$file )
{
echo("Ошибка открытия файла");
}
else
{
fputs ( $file, $str);
}

fclose ($file);

?>

Александр 60 лет 10.11.2012 22:49

Цитата:
file.txt
создайте ручками.
не заметил это сообщение ....я так и сделал сразу

Александр 60 лет 10.11.2012 22:52

может настройки сервера надо что то ?

Gozar 10.11.2012 23:06

Цитата:

Сообщение от Александр 60 лет
index.html

файл должен быть по строению:
<html>
<body>
<script></script></body></html>


перейди: http://22.122.kz/saveMouse.php?x=10&y=20

увидешь:
Цитата:

Ошибка открытия файла
дай права на запись в файл.

Если не поможет, укажи абсолютный путь

DjDiablo 10.11.2012 23:15

если неполучится
то в личные сообщения можно данные для доступа скинуть,
можете скайп,или мэйл свой, туда же послать.

личные сообщения прочитаю только я.

Александр 60 лет 10.11.2012 23:18

точно !! забыл про права ...
заработало !!! ура !! супер !!

Александр 60 лет 10.11.2012 23:19

только отрабатывает клик ..а двойной нет

Александр 60 лет 10.11.2012 23:20

DjDiablo,
порт 195. уч.з kz4 пароль 11

DjDiablo 10.11.2012 23:23

александр
вы чо делаете
щас к вам в гости зайдёт пол интернета

сделайте копию файлов и смените пароль, прямо сейчас

Александр 60 лет 10.11.2012 23:25

подумал что в личку ..)) пусть заходят )))

DjDiablo 10.11.2012 23:29

скрипт с отработкой клика и двойного клика.
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("click",event );
document.addEventListener("dblclick",event );

function event(evnt){
         var x=evnt.pageX,
               y=evnt.pageY,
               req = getXmlHttp();

         req.open('GET', 'saveMouse.php?x='+x+"&y="+y, true); 
         req.send(null);  // отослать запрос
}


Цитата:

пусть заходят )))
не знаю как у вас в казахстане, а у нас в россии долбоёбов навалом )))

Александр 60 лет 10.11.2012 23:30

Вы копирнули данные ftp ?
отредактирую запись ?

Александр 60 лет 10.11.2012 23:34

http://22.122.kz/ табличка выскакивает ...подтвердите действие ..

DjDiablo 10.11.2012 23:34

я нетрогаю фтп
вставьте код и всё заработает

DjDiablo 10.11.2012 23:35

удалите строку alert(1);
извините, забыл о нём

Александр 60 лет 10.11.2012 23:40

убрал
http://22.122.kz/ http://22.122.kz/file.txt
что то ...чуть чуть не хватает ..

Александр 60 лет 10.11.2012 23:44

пробелов вроде нет

Александр 60 лет 10.11.2012 23:50

$str=$_GET['x'].' '.$_GET['y'].' ';
подставил пробел в конце

DjDiablo 10.11.2012 23:50

http://htmlweb.ru/php/function/fopen.php

для fopen режим r+ я применил зря, используйте w к примеру. Список режимов сверху.

перевод строки символом "\n", так же как в C++. Впрочем php под влиянием С создавался так что нечего удивительного.
$_GET['x'].'\n '.$_GET['y'];
для того чтобы x и y писались в разные строки

Александр 60 лет 10.11.2012 23:54

всё супер ! моей радости нет предела !!
только пока не понятно ..кто клик ...а кто двойной

Александр 60 лет 10.11.2012 23:55

мучаюсь два дня с переводом строки ....никак не могу сделать ...

Александр 60 лет 11.11.2012 00:00

подставляю .'\n '. скрипт перестаёт работать

Александр 60 лет 11.11.2012 00:05

да w .....полностью строку стирает ..пробелы убрал

Александр 60 лет 11.11.2012 00:10

мне нужно примерно так http://22.122.kz/m.html
верхняя пара - клик
нижняя пара - двойной клик

Александр 60 лет 11.11.2012 00:12

вообщем то двойному клику , всегда предшествует - одиночный


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