我的页面中有很多东西,还有iframe。特别是这个iframe。
本来页面顺序是这样的:
.......
.......
.......
<iframe............></iframe>
<div id="mybottom"><script type="text/javascript" src="inc/bottom.js"></script></div>但是有个问题,我发现ifame里的内容必须等到bottom.js里的内容显示了才能显示。我现在希望页面内所有内容都显示完毕(包括iframe里的)之后,再显示bottom.js里的内容,可以考虑动态加载方法。
但是我试了,没用啊。请教高手!!!!!<div id="mybottom"></div>
<script language="JavaScript">
<!--
window.onload = function(){
var js=document.createElement("script");
    js.type="text/javascript"; 
    js.language="javascript"; 
js.src="inc/bottom.js"; 
$("mybottom").appendChild(js);
}
//-->
</script>

解决方案 »

  1.   

    <div id="mybottom"></div>
    <script language="JavaScript">
    <!--
    window.onload = function(){
        var js=document.createElement("script");    
        js.type="text/javascript"; 
        js.language="javascript"; 
        js.src="inc/bottom.js"; 
        $("mybottom").appendChild(js);
        alert($("mybottom").innerHTML);//怎么可能没用,看看这里有没有值,如果有值而不能得到运行,那么请检查js路径是否正确
    }
    //-->
    </script>
      

  2.   

    1. 在iframe页面的window.onload事件调用父页面的函数加载bottom.js2. 用iframe的onload事件
      

  3.   

    那为什么执行不起来啊?
    我的bottom.js里面是:
    document.write('<div>asdasdasd</div>');
      

  4.   

    bottom.js里面如果是alert(..)就可以 为什么
      

  5.   

    并且我发现,用这个方式调用bottom.js ,还是会先于iframe里的内容显示。
      

  6.   

    document.write加载完以后再执行的话会覆盖document.body中的内容,这样的JS不适合在onload里执行要是bottom.js里的语句不是很多的话,可以将document.write(' <div>asdasdasd </div>');改为 $("mybottom").innerHTML =  $("mybottom").innerHTML+"<div>asdasdasd </div>";
      

  7.   

    document.write必须在页面加载的时候使用,
    如果页面加载完毕后使用会把当前页面刷掉
      

  8.   

    document.write标签之间使用和在加载完后使用是有区别的:
    比如:
    <body>
    <div id="div1"><!-- 这里是document.write(1111) --></div>
    </body>如果document.write是正常执行,页面会变成
    <body>
    <div id="div1">1111</div>
    </body>
    如果是加载完后执行,页面会变成
    <body>
    1111
    </body>