我希望如果 'attendance_20121029.xml' 文件被改变,网络浏览器会自动改变。所以我使用了 setinterval 方法。但是如果我更改文件,Web 浏览器不会更改。如果我再次执行 HTML 文件,Web 浏览器就会改变。如果有人有什么好主意,请发表评论。
<html>
<head>
</head>
<body onLoad="tid=setInterval('refresh()',1000);">
<script language="JavaScript">
function refresh()
{
var xmlDoc=null;
if (window.ActiveXObject)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
else if (document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('fail');
}
if (xmlDoc!=null)
{
xmlDoc.async=false;
xmlDoc.load("studentlist.xml");
}
var xmlDoc2=null;
if (window.ActiveXObject)
{
xmlDoc2=new ActiveXObject("Microsoft.XMLDOM");
}
else if (document.implementation.createDocument)
{
xmlDoc2=document.implementation.createDocument("","",null);
}
else
{
alert('fail');
}
if (xmlDoc2!=null)
{
xmlDoc2.async=false;
xmlDoc2.load("attendance_20121029.xml");
}
document.write("<table border='1' cellspacing='4' cellpadding='4'>");
document.write("<tr><th>");
document.write("Student Name");
document.write("</th>");
document.write("<th>");
document.write("Attendece");
document.write("</th></tr>");
for (i=0 ; i<xmlDoc.childNodes[1].childNodes.length ; i++)
{
document.write("<tr>");
document.write("<td align='center'>");
document.write(xmlDoc.childNodes[1].childNodes[i].text);
document.write("</td>");
document.write("<td align='center'>");
for (k=0 ; k<xmlDoc2.childNodes[1].childNodes.length ; k++)
{
if(xmlDoc.childNodes[1].childNodes[i].text == xmlDoc2.childNodes[1].childNodes[k].tagName)
{
document.write("O");
break;
}
}
if (k == xmlDoc2.childNodes[1].childNodes.length )
{
document.write("X");
}
document.write("</td>");
document.write("</tr>");
}
document.write("</table>");
document.close();
}
</script>
</body>
</html>