<td onClick='StartLoading(); x_php_GetCadr(encode_utf8("$row[1]"),StartWaitIMG);'><img src='img/cadr.png'/></td>
x_php_GetCadr(encode_utf8("$row[1]"),StartWaitIMG); // вызывает php_GetCadr работы которой передает в StartWaitIMG
function php_GetCadr($ActiveOM)
{
$userid=$_SESSION['user'][0];
$Sql="SELECT
count(id)
FROM
imageready
WHERE
imageready.userid = $userid and sn=(SELECT
car.Sn
FROM
car
WHERE
car.GosNumber = '$ActiveOM')";
$result=mysql_query($Sql);
$row=mysql_fetch_row($result);
if ($row[0]>0) return $ActiveOM;
SendMessage(103,$ActiveOM);
if ($result===false) // Ошибка запроса базы нет таблицы нет . ВСЕ нештатные ситуации
return "Error";
else
return iconv('windows-1251','UTF-8',$ActiveOM); // без ошибок. Обрабатываем штатные ситуации
}
function StartWaitIMG(GosNomer) //вызываем php_StartWaitIMG и ждем результат.
{
x_php_StartWaitIMG(GosNomer,
function (res)
{
if(res=='WAIT') // продолжаем ждать картинку
{
setTimeout(StartWaitIMG(GosNomer), 1000);
}
else
{//Чегото дождались убираем сообщенеие о загрузке
StopLoading(); //Смотрим результат
if (res=='NULL') // на машине нет камеры или она не исправна
{
alert('Автомобиль не оборудован камерой');
}
else // на машине есть камера пришла к нам фотка её надо показать
{
imageBox(res)
}
}
}
);
}
function php_StartWaitIMG($ActiveOM) // приходит номер машины
{
$id=$_SESSION['user'][0];
$Sql="SELECT
img
FROM
imageready
WHERE imageready.userid=$id
and Sn=(SELECT
car.Sn
FROM
car
WHERE
car.GosNumber = '$ActiveOM')";
$result=mysql_query($Sql);
if ($result===false)return mysql_error()."Error $ActiveOM";
if (mysql_num_rows($result)>0) // есть ли фотки для пользователя
//есть
{
$row=mysql_fetch_row($result); // есть ли фотка для этого пользовтаеля если она пустая
if (!empty($row[0]))
{
// не пустая !!!!!!
$FN='UserGuest'.'\\'.date("H_i_s").mt_rand().'.jpg';
WriteFile($FN,$row[0]); //пишем её в файл
}
else
$FN='NULL'; // пустая машина не оборудована камерой
//убивем фото из базы
$Sql="DELETE LOW_PRIORITY QUICK
FROM
imageready
WHERE
imageready.userid=$id AND imageready.sn=(SELECT
car.Sn
FROM
car
WHERE
car.GosNumber = '$ActiveOM')";
$result=mysql_query($Sql);
return $FN; // возращаем имя файла
}
else
return 'WAIT';//фоток нет жди еще.
}
function imageBox(file)
{
var viewer = window.open('map.html');
alert( viewer == null );
//здесь код создания окна и вывода фотки внего
беда в том что окно не создается т.е. alert пишет true это происходит на IE7 и на IE8
}
Спустя 47 минут, 59 секунд (9.07.2010 - 10:15) Basili4 написал(а):
Опытным путем выяснил при любой попытки создать окно в функции в которой обрабатывается ответ от сервера возвращается null кто нибудь может объяснить почему так это происходит ????
Спустя 1 час, 2 минуты, 55 секунд (9.07.2010 - 11:18) twin написал(а):
Ужос. Для начала перестань пользоваться табулятором.
В этой каше вообще не понятно, аким таким чудесным образом JS перемешался с PHP...
В этой каше вообще не понятно, аким таким чудесным образом JS перемешался с PHP...
Спустя 48 минут, 3 секунды (9.07.2010 - 12:06) Basili4 написал(а):
В первом посте я выбрал все функции влияющие на работу в одно место и запостил их щас эксперементирую вот что у меня получилось за исходный пример я взял код http://irbis-team.com/15/13/1
Это код ajax.php
<html>
<head>
<script type="text/javascript" language="javascript">
var req = Create();
function Create(){
if(navigator.appName == "Microsoft Internet Explorer"){
req = new ActiveXObject("Microsoft.XMLHTTP");
}else{
req = new XMLHttpRequest();
}
return req;
}
function Request(query)
{
req.open('post', 'ajax.php' , true);
req.onreadystatechange = Refresh;
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
req.send(query);
}
function Refresh()
{
if( req.readyState == 4 )
{ wnd=window.open(); // Попытка создать окно на IE7 всегда терпит неудачу
alert(wnd==null); //в IE7 пишет true окно не создается IE8 доступные для теста ведут себя по разному.
}
}
function Pusk()
{
var query;
query ='txt=1';
Request(query);
}
</script>
</head>
<body>
<div id="ajax"></div>
<input type="button" value="ТЫРЦ" onClick="Pusk()">
<img src="prel.gif" width="1" height="1" />
</body>
</html>
Это код ajax.php
<?php
$txt = isset($_POST['txt'])?$_POST['txt']:NULL;
echo $txt;
?>
Спустя 7 часов, 42 секунды (9.07.2010 - 19:07) Basili4 написал(а):
Нашел причину и она была. кто мог бы подумать в том что были заблокированы всплывающие окна. именно на IE7 и на одном IE8.
_____________