我在ie下使用document.frames["MyIFrame"].document为什么不能用呢,郁闷
test.html
<html>
<head>
<script type="text/javascript">
function f(){
        var doc;        if (document.all){//IE
alert("test");
                doc = document.frames["MyIFrame"].document;
alert(doc);
        }else{//Firefox    
                doc = document.getElementById("MyIFrame").contentDocument;
        }        //doc.getElementById("sub_link").addEventHandler("click",my_alert,"false");
// doc.getElementById("sub_link").attachEvent("onclick",my_alert);
}
function my_alert()
{
//alert("no");
}
</script>
</head>
<body onload="f()"><iframe id = "MyIFrame" name = "MyIFrame" src = "test1.html"></body>
</html>

解决方案 »

  1.   

    <html>
    <head>
    <script type="text/javascript">
    function f(){
      var doc;  if (document.all){//IE
      doc = document.getElementById('MyIFrame').document;
      }else{//Firefox   
      doc = document.getElementById("MyIFrame").contentDocument;
      }
      //dalroc.getElementById("sub_link").addEventHandler("click",my_alert,"false");
    // doc.getElementById("sub_link").attachEvent("onclick",my_alert);
    }
    function my_alert()
    {
    //alert("no");
    }
    </script>
    </head>
    <body onload="f()"><iframe id = "MyIFrame" name = "MyIFrame" src = "test1.html"></iframe></body>
    </html>
      

  2.   

    就用getElementById多好 怎么也不会出错啊 是吧
      

  3.   

      if (document.all){//IE
    alert("test");
      doc = document.frames["MyIFrame"].contentDocument;
    alert(doc);
      }else{//Firefox  
      doc = document.getElementById("MyIFrame").contentDocument;
      }
      

  4.   

    是我的错,我跨域使用了iframe,所以有错拉