в IE так и не работает( при нажатии и уждержании клавишы посылка запроса постоянно происходит только в FF в опере нужно постоянно нажимать на клавишу
ну и в том же FF запросы тупят как-то( причем жестко...и через пару секунд вообще прекращает подавать запросы
Вот код весь:
Это код html странички
<script language="JavaScript" type="text/javascript" src="saver.js"></script>
<html>
<head>
<title>123</title>
<meta http-equiv="Content-type:text/xml" charset="cp1251">
<script language="JavaScript" type="text/javascript" src="saver.js"></script>
</head>
<body onLoad='sendData()'>
<center>
id: <input type="text" id="txtCustomerId" value="1">
<div id="txtCustomerInfo"></div>
</center>
</body>
</html>
Это saver.js
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject() {
var xmlHttp;
if(window.ActiveXObject){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
xmlHttp = false;
}
}else{
try {
xmlHttp = new XMLHttpRequest();
}catch (e){
xmlHttp = false;
}
}
if (!xmlHttp){
alert("Не создает xml объект.");
}else{
return xmlHttp;
}
};
//ПОСЫЛКА ЗАПРОСА ПО ID
function sendData(){
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0){
name = encodeURIComponent(document.getElementById("txtCustomerId").value);
xmlHttp.open("GET", "customers.php?id=" + name, true);
xmlHttp.onreadystatechange = readData;
xmlHttp.send(null);
}else{
setTimeout('sendData()', 200);
}
};
//ЧТЕНИЕ РЕЗУЛЬТАТА
function displayCustomerInfo(sText) {
sElem = document.getElementById("txtCustomerInfo");
sElem.innerHTML = sText;
}
function readData() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
xmlResponse = xmlHttp.responseXML;
xmlDocumentElement = xmlResponse.documentElement;
helloMessage = xmlDocumentElement.firstChild.data;
displayCustomerInfo(xmlHttp.responseText);
setTimeout('sendData()', 200);
}else{
alert("Не получен ответ сервера: " + xmlHttp.statusText);
}
}
};
//УПРАВЛЕНИЕ
document.onkeydown = function keyIsDown(event) {
//***W***
event = event || window.event;
if (event.keyCode == 87) {
xmlHttp.open("GET", "controls.php?keyW=1", true);
xmlHttp.onreadystatechange = readData;
xmlHttp.send(null);
}
};
ПХП управления controls.php
require_once "config.php";
$keysW = $_GET['keyW'];
$linkj = mysql_connect($host,$user,$pass);
@mysql_select_db($database);
$mybase = mysql_query("SELECT * FROM customers WHERE id='1'");
$dbcon = mysql_fetch_array($mybase);
$x = $dbcon['x'];
$y = $dbcon['y'];
if($keysW==1){
$suy = $y - 2;
mysql_query("UPDATE customers SET y='".$suy."' WHERE id='1'");
$keysW=0;
}
ПХП обмен данных с базой customers.php
header('Content-Type: text/xml; charset=windows-1251');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<response>';
require_once "config.php";
$sId = $_GET['id'];
$link = mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_query("SET NAMES windows-1251");
$query = mysql_real_escape_string("SELECT * FROM customers WHERE id=$sId");
@mysql_select_db($database) or ($info = mysql_error());
if($result = mysql_query($query) and mysql_num_rows($result) > 0) {
$values = mysql_fetch_array($result,MYSQL_ASSOC);
$x = $values['x'];
$y = $values['y'];
$info = '<img src="1.gif" alt="" id="player" style="position: absolute; left:'.$x.'; top:'.$y.'"></img>';
} else {
$info = "Не найден id!";
}
echo $info;
echo '</response>';
Пожалуйста помогите оптимизировать этот код)