rendered paste bodyvar req = false;
var lines = array();
var logUlElement = false;
var logElement = false;
var maxLines = 100;
if (window.XMLHttpRequest){
req = new XMLHttpRequest();
if (req.overrideMimeType) {
req.overrideMimeType('text/xml')
}
} else if (window.ActiveXObject) {
try {
req=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
req=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
req.onreadystatechange = function() {
if(req.readyState == 4) {
if(req.status == 200) {
var linesFromXml;
if (logUlElement === false)
{
logUlElement = document.createElement('ul');
logUlElement.setAttibute('id', 'log');
logElement.appendChild(logUlElement);
}
linesFromXml = req.responseXML.getElementsByTagName('Lines');
for(var i = 0; i < linesFromXml.length; ++i) {
var line = linesFromXml[i];
var lineLi = document.createElement('li');
var lineNumberSpan = document.createElement('span');
var lineSpan = document.createElement('span');
var lineNum = line.getAttribute('number') * 1;
lineNumberSpan.appendChild( document.createTextNode( lineNum + ': ' ) );
lineSpan.appendChild( document.createTextNode( line.childNodes[0].nodeValue ) );
if ( lineNum/2 == Math.round( lineNum/2 ) )
{
even = 'even';
}
else
{
even = 'uneven';
}
lineLi.setAttribute('class', even);
lineLi.appendChild(lineNumberSpan);
lineLi.appendChild(lineSpan);
lines[lineNum] = lineLi;
logUlElement.appendChild(lines[lineNum]);
if (lineNum > maxLines)
{
logUlElement.removeChild(lines[lineNum - maxLines]);
}
}
} else {
alert('Error ' + req.status);
}
}
}
function fillLog(newLogElement)
{
logElement = newLogElement
setInterval(
function ()
{
req.abort();
fillLog(logElement);
},
1 * 1000
)
req.open('GET', '/path/to/log.xml.php');
req.send('');
}