下面这段程序在sco unix netscape 4.61下执行,执行两个循环后netscape便自动推出,系统提示unaligned access。当每次write的数据较少的时候,多写几次仍然会出错。去掉document.open和document.close后程序可以一直执行下去,但是层上原来的内容不能抹掉。由于这个程序用途很特殊,不能升级netscape,更不能改用IE.盼望高手的答复。
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 2</title>
</head>
<script type="text/javascript">
document.write("<layer name='root' left=0 top=0></layer>");
var dom=document.layers['root'];function func()
{
document.layers['mydiv'].write("hello");
}function start()
{
var strHTML;
for(var i=0;i<1000;i++)
{
strHTML+="<layer left="+Math.random()*1000+" top="+Math.random()*1000+"><img src='images/fly02.gif'>flying</layer>";
}
dom.document.open();
dom.document.write(strHTML);
dom.document.close();
setTimeout("start()",5000);
}
</script><body onload="start()" background="images/bk.png">
</body>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 2</title>
</head>
<script type="text/javascript">
document.write("<layer name='root' left=0 top=0></layer>");
var dom=document.layers['root'];function func()
{
document.layers['mydiv'].write("hello");
}function start()
{
var strHTML;
for(var i=0;i<1000;i++)
{
strHTML+="<layer left="+Math.random()*1000+" top="+Math.random()*1000+"><img src='images/fly02.gif'>flying</layer>";
}
dom.document.open();
dom.document.write(strHTML);
dom.document.close();
setTimeout("start()",5000);
}
</script><body onload="start()" background="images/bk.png">
</body>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货