这段代码理想的效果是在页面Load完后,DIV里面只显示“Active”,
在IE和Netscape6.0以上都是可以的,但是NS4.8需要点击那个按钮,
才能达到那样的效果。好像Load的时候也调用那个函数,只是没有执行完。感谢大家,给点意见也好!
在IE和Netscape6.0以上都是可以的,但是NS4.8需要点击那个按钮,
才能达到那样的效果。好像Load的时候也调用那个函数,只是没有执行完。感谢大家,给点意见也好!
</div>
<script>
var layerID='TL';
function getcode(id,width,height) {
code="active";
if(document.getElementById){
document.getElementById(layerID).innerHTML=code;
}else if(document.all){
document.all[layerID].innerHTML=code;
}else if(document.layers){
alert('before');
with(document.layers[layerID].document){
open();
write(code);
close();
}
alert('after');
}
}
//下面这句话有问题
getcode(38, 468, 60);
</script>我能控制的只有这么一段,其中DIV部分是发给广告销售的代码,包括这句JS调用。
window.onload=new Function("getcode(38, 468, 60)");要是担心原来的页面上已经定义了onload事件就判断一下:var fun=window.onload;
if (fun){
window.onload=new Function("fun();getcode(38, 468, 60)");
}else{
window.onload=new Function("getcode(38, 468, 60)");
}
原来的错误是,发生调用的时候,
document.layers[layerID]为空,报错我没注意到。
看来Netscape4.x的调用是有顺序的,也提醒大家注意。谢谢!<script>
var layerID='TL';
function getcode(id,width,height) {
code="active";
if(document.getElementById){
document.getElementById(layerID).innerHTML=code;
}else if(document.all){
document.all[layerID].innerHTML=code;
}else if(document.layers){
with(document.layers[layerID].document){
open();
write(code);
close();
}
}
}
</script>
<div id='TL' style="position:absolute">
<script>
getcode(38, 468, 60);
</script>
</div>