Only MSIE
<html>
<script>
/**
* http://developer.apple.com/internet/webcontent/xmlhttpreq.html
* http://jibbering.com/2002/4/httprequest.html
* http://www.scss.com.au/family/andrew/webdesign/xmlhttprequest/
* http://www.w3.org/TR/DOM-Level-3-LS/
* http://www.xpounded.netfirms.com/searchLeach.html
* http://www.dotnet247.com/247reference/msgs/5/27513.aspx
*
* var objDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
*
* 1. Common XMLHttpRequest Object Methods
* XMLHttpRequest().abort()
* XMLHttpRequest().getAllResponseHeaders()
* XMLHttpRequest().getResponseHeader("headerLabel")
* XMLHttpRequest().open("method", "uri" [, asyncFlag [,
"userName" [, "password"]]])
* XMLHttpRequest().send(content)
* XMLHttpRequest().setRequestHeader("label", "value")
*
* 2. Common XMLHttpRequest Object Properties
* XMLHttpRequest().onreadystatechange
* Event handler for an event that fires at every state change
* XMLHttpRequest().readyState
* Object status integer:
* 0 = uninitialized
* 1 = loading
* 2 = loaded
* 3 = interactive
* 4 = complete
* XMLHttpRequest().responseText
* String version of data returned from server process
* XMLHttpRequest().responseXML
* DOM-compatible document object of data returned from server process
* XMLHttpRequest().status
* Numeric code returned by server, such as 404 for "Not Found" or 200
for "OK"
* XMLHttpRequest().statusText
* String message accompanying the status code
*/
function _getxmlhttp()
{
try
{
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e)
{
try
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(E)
{
var xmlhttp = new XMLHttpRequest();
}
}
return xmlhttp; // object
}
function _loadxmldoc()
{
if(!req) return;
var ruri = _rewriteuri(uri);
req.open("GET", ruri, true);
req.onreadystatechange = function()
{
var _rewriteuri = false;
var rstate = req.readyState;
//_replace('rstatus',rstate);
if(rstate == 4)
{
//alert(req.getAllResponseHeaders());
document.getElementById("rval").innerHTML = req.responseText;
//_replace('rval',req.responseText);
}
}
// or server response header `Expires' or `Cache-Control'
req.setRequestHeader("Cache-Control", "no-store, no-cache,
must-revalidate"); // for realtime
req.setRequestHeader("Pragma", "no-cache"); // HTTP/1.0
req.setRequestHeader("Connection", "close");
req.send(null); // null is POST data
//delete req;
}
function _replace(id, str)
{
eval("document.getElementById("+id+").innerHTML =
"+str+";");
}
/* or server response header `Expire' or `Cache-Control'
*/
function _rewriteuri(uri)
{
if(uri.indexOf("?") == -1) uri += "?";
else uri += "&";
uri += "_nullrnd=" + new Date().getTime();
return uri; // string
}
function _init()
{
window.setInterval("_loadxmldoc()",3000);
}
var req = _getxmlhttp();
var uri = "http://foobar.host.com/path/to/some.php";
</script>
<body Onload="_init();">
<div id="rval"><em>Loading..</em></div><BR>
<div id="rstate">...</div>
</body>
</html>
|