index.html页面(父页面):<html>
    <body>
    <iframe id="right1" onload="abc()"  name="test-iframe" src="right1.html"></iframe>
    <script>
        function abc(){
            //使用js获取iframe中的内容时,必须使用onload()事件进行加载
            right1.document.getElementById('one').innerHTML='aaa';
            right1.document.bgColor='yellow';
        }
        
    </script>
</body>
</html>right1.html页面(iframe页面):<html>
    <script>
            function show(){
                alert(1);    
            }
    </script>
    <body>
        
        <div id="one">right1</div>
        
    </body>
    
</html>请教:为什么在index.html页面中必须要加onload()事件,如果不加这个事件,那么js代码就不起作用,为什么啊?​iframejs

解决方案 »

  1.   

    其实我有的没看明白你说的是什么
    onload就是 index.htm加载完之后才执行,如果你不在onload中执行,或许你的iframe还没有加载出来,你的JS就已经执行了(不过会报JS错误,你可以用F12调试工具看一下。)。
      

  2.   

    就是要让iframe加载完才能操作里面的内容。
      

  3.   

    你要获取那个页面id为one的元素  没加载完的话获取不到吧?
      

  4.   

    可是我明明把<iframe>标签写在最上面了,页面不是从上往下执行的么
      

  5.   

    操作iframe的属性可以,但是还不能操作iframe加载页面的对象,因为里面的对象不一定已经加载完毕
      

  6.   

    即使用onload的话,你这样能取到iframe里面的div元素吗?