finder007
Новичок
Обновление графика по таймеру
Всем привет.
Может кто уже сталкивался с подобной проблемой.
Задача такая, по таймеру необходимо обновлять график на основе значений неких показателей.
Имеется сценарий формирующий этот график - пусть он называется graph.php
По таймеру выполняется сценарий javascript выполняющий перерисовку только изобращения на странице.
Приведу сам код функции выполняющей перерисовку
function f_drawGraph(d1,d2,graphId)
{
var dat_beg,dat_end;
var newrow;
var newCell;
var str_graph;
//Элемент на странице с начальной датой для графика
var p1 = document.all(d1);
if (p1!=null)
{
dat_beg = p1.value;
dat_end = p1.value;
}
//Элемент на странице с конечной датой для графика
var p2 = document.all(d2);
if (p2!=null)
{
dat_end = p2.value;
}
//graphId - имя элемента img с нужным графиком на странице
// alert(graphId);
//Область с графиком
var tab_graph = document.all('b' + graphId);
//Таблица в которую выводиться график
if (tab_graph!=null)
{
//Чистка старого содержимого (удаление последней строки)
for (i=tab_graph.rows.length-1; i>=0; i--)
{
tab_graph.deleteRow(i);
}
//Прорисовка нового содержимого (Изображения)
newrow = tab_graph.insertRow();
newCell = newrow.insertCell(0);
str_graph = "<img id='" + graphId + "' src='graph.php?date_beg="+dat_beg+"&date_end="+dat_end+"'>";
newCell.innerHTML = str_graph;
}
//Вариант 2
/*
var p3 = document.all(graphId);
if (p3!=null)
{
p3.src = 'graph.php?date_beg='+dat_beg+'&date_end='+dat_end;
}
*/
}
Если выполняю эту функцию при клике на ссылку страницы, то график перерисовывается, по таймеру почему то не хочет обновлять график.
Был вариант еще проще, менять значение SRC у рисунка, но почему то он и при клике на ссылку не пашет.
В файле graph.php с заголовками вроде все в порядке (убрано кэширование)
header("Expires: Thu, 19 Feb 1998 13:24:18 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0,pre-check=0");
header("Cache-Control: max-age=0");
header("Pragma: no-cache");
Подскажите, что можно еще попробовать чтобы изображение все таки менялось по таймеру.
Использую Апатч 2.2 + ПХП 5 + IE 7
Всем привет.
Может кто уже сталкивался с подобной проблемой.
Задача такая, по таймеру необходимо обновлять график на основе значений неких показателей.
Имеется сценарий формирующий этот график - пусть он называется graph.php
По таймеру выполняется сценарий javascript выполняющий перерисовку только изобращения на странице.
Приведу сам код функции выполняющей перерисовку
function f_drawGraph(d1,d2,graphId)
{
var dat_beg,dat_end;
var newrow;
var newCell;
var str_graph;
//Элемент на странице с начальной датой для графика
var p1 = document.all(d1);
if (p1!=null)
{
dat_beg = p1.value;
dat_end = p1.value;
}
//Элемент на странице с конечной датой для графика
var p2 = document.all(d2);
if (p2!=null)
{
dat_end = p2.value;
}
//graphId - имя элемента img с нужным графиком на странице
// alert(graphId);
//Область с графиком
var tab_graph = document.all('b' + graphId);
//Таблица в которую выводиться график
if (tab_graph!=null)
{
//Чистка старого содержимого (удаление последней строки)
for (i=tab_graph.rows.length-1; i>=0; i--)
{
tab_graph.deleteRow(i);
}
//Прорисовка нового содержимого (Изображения)
newrow = tab_graph.insertRow();
newCell = newrow.insertCell(0);
str_graph = "<img id='" + graphId + "' src='graph.php?date_beg="+dat_beg+"&date_end="+dat_end+"'>";
newCell.innerHTML = str_graph;
}
//Вариант 2
/*
var p3 = document.all(graphId);
if (p3!=null)
{
p3.src = 'graph.php?date_beg='+dat_beg+'&date_end='+dat_end;
}
*/
}
Если выполняю эту функцию при клике на ссылку страницы, то график перерисовывается, по таймеру почему то не хочет обновлять график.
Был вариант еще проще, менять значение SRC у рисунка, но почему то он и при клике на ссылку не пашет.
В файле graph.php с заголовками вроде все в порядке (убрано кэширование)
header("Expires: Thu, 19 Feb 1998 13:24:18 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0,pre-check=0");
header("Cache-Control: max-age=0");
header("Pragma: no-cache");
Подскажите, что можно еще попробовать чтобы изображение все таки менялось по таймеру.
Использую Апатч 2.2 + ПХП 5 + IE 7