这段代码理想的效果是在页面Load完后,DIV里面只显示“Active”,
在IE和Netscape6.0以上都是可以的,但是NS4.8需要点击那个按钮,
才能达到那样的效果。好像Load的时候也调用那个函数,只是没有执行完。感谢大家,给点意见也好!

解决方案 »

  1.   

    <body onload="getcode(38, 468, 60)"> 试过没有?
      

  2.   

    确实可以解决,但是问题不这么简单。<div id='TL' style="position:absolute">
    </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调用。
      

  3.   

    那试试这样?
    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)");
    }
      

  4.   

    函数及调用的顺序修改成这样,就可以。
    原来的错误是,发生调用的时候,
    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>