frame間アクセス

1878 ワード

index.aspコード
<frameset rows="50,*,20" cols="*" frameborder="no" border="0" framespacing="0">

    <frame src="Top.aspx" id="iframeTop" scrolling="no" noresize>

    <frameset id="fs" rows="*" cols="150,9,*" frameborder="no" border="0" framespacing="0">

        <frame src="Left.aspx" id="iframeLeft" scrolling="auto" frameborder="NO" border="0" framespacing="0">

        <frame src="Split.aspx" scrolling="auto" frameborder="NO" border="0" framespacing="0">

        <frame name="Right" id="Right" src=<%=strRightURL %> scrolling="auto" frameborder="NO" border="0" framespacing="0">

    </frameset>

    <frame name="Bottom" id="Bottom" src="Bottom.aspx" scrolling="NO" noresize>

</frameset>


frame Rightのページで他のframeのコントロールにアクセスするには、次の手順に従います.
   var oDoc = top.parent.document;

            var oFrameLeft = oDoc.frames["iframeLeft"]; 

            oFrameLeft.document.getElementById("mdiv").style.height = oFrameLeft.document.body.offsetHeight;

            oFrameLeft.document.getElementById("mdiv").style.width  = oFrameLeft.document.body.offsetWidth;

            var oFrameTop = oDoc.frames["iframeTop"]; 

            oFrameTop.document.getElementById("mdiv").style.height = oFrameTop.document.body.offsetHeight;

            oFrameTop.document.getElementById("mdiv").style.width  = oFrameTop.document.body.offsetWidth;


mdivはLeftのdivであり、アクセスするにはbodyが必要であり、bodyの中にある必要があります.さもないとgetElementById("mdiv").styleエラー.