topical media & game development
basic-ajax-07-Polling2.js / js
var xHRObject = false;
if (window.ActiveXObject)
{
xHRObject = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xHRObject = new XMLHttpRequest();
}
function getData()
{
//Check to see if the XMlHttpRequest object is ready and whether it has
//returned a legitmate response
if (xHRObject.readyState == 4)
{
if (xHRObject.status == 200)
{
if (window.ActiveXObject)
{
// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.load("Stocks.xml");
//Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM");
xsl.async = false;
xsl.load("Stocks.xsl");
//Transform
var transform = xml.transformNode(xsl);
var Stocks = document.getElementById("Stocks");
}
else
{
var xsltProcessor = new XSLTProcessor();
//Load XSL
var XHRObject = new XMLHttpRequest();
XHRObject.open("GET", "Stocks.xsl", false);
XHRObject.send(null);
xslStylesheet = XHRObject.responseXML;
xsltProcessor.importStylesheet(xslStylesheet);
//Load XML
xmlDoc = XHRObject.responseXML;
//Transform
var fragment = xsltProcessor.transformToFragment(xmlDoc, document);
document.getElementById("Stocks").innerHTML = "";
document.getElementById("Stocks").appendChild(fragment);
}
Stocks.innerHTML = transform;
//Clear the object and call the getDocument function in 10 seconds
xHRObject.abort();
setTimeout("getDocument()", 5000);
}
else
{
Stocks = document.getElementById("Stocks");
if (Stocks.innerHTML.indexOf("available")==-1)
{
Stocks.innerHTML += "<br/><span>Current stock information not available, currently showing the last available data</span>";
}
xHRObject.abort();
setTimeout("getDocument()", 5000);
}
}
}
function getDocument()
{
//Reset the function
xHRObject.onreadystatechange = getData;
num = (Math.round((Math.random()*999999)+1))
xHRObject.open("GET", "GetStocksList.aspx?id="+num,true);
xHRObject.send(null);
}
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.