废话不多说直接上例子吧:
<!--测试页面 -->
<frameset cols="100,*" name="frame1">
<frame src="about:blank">
<frame src="demo.html">
</frameset>
<!-- demo.html -->
<button onClick="parent.frames['frame1'].cols='0,*'">隐藏左框架</button>
<button onClick="parent.frames['frame1'].cols='100,*'">显示左框架</button>
IE中可以正常的隐藏和显示,Firefox只能显示出框架,不能隐藏。
网上查了查,有人说
IE:使用window.frameId或者window.frameName来访问这个frame对象.
Firefox:只能使用window.frameName来访问这个frame对象.
我自己测试看 Firefox使用frameName也不行。有兴趣的可以试一下,
我的解决办法:
在framesets中设置id,demo.html使用window.document.getElementById("frameId")取frame对象,对于子页面记得在window后面加parent就行了。这样就可以使用window.document.getElementById("frameId").src设置frame的内容.
同样地在ifame中只要是设置iframe的id,就可以使用window.document.getElementById("frameId")。