有一个框架代码如下。
<frameset rows="120,*,80" frameborder="no" border="0" framespacing="0" name="full">
<frame src="head.html" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" />
<frameset cols="220,*" frameborder="no" border="0" framespacing="0" name="cen" id="cen">
<frame src="_SiteTree.html" name="leftFrame" scrolling="Auto" id="leftFrame" title="leftFrame" />
<frame src="main.html" name="mainFrame" id="mainFrame" title="mainFrame" />
</frameset>
<frame src="footer.htm" name="bottomFrame" scrolling="No" noresize="noresize" id="bottomFrame" title="bottomFrame" />
<noframes>
<body>
<p>此网页使用了框架,但您的浏览器不支持框架。</p>
</body>
</noframes>
</frameset>
现想隐藏和显示该框架中"leftFrame"部分,在网上找到了JS代码,结果在IE正常,在火狐和谷歌浏览器并不起作用。
该部分代码如下:
function shleft(){
if (parent.cen.cols=="0,*"){
parent.cen.cols="220,*,"
document.getElementById("shleft").value="隐藏左部";
}
else{
parent.cen.cols="0,*"
document.getElementById("shleft").value="显示左部";
}
}
--------------------------------------------------------------------------------
很显然parent.cen.cols 这句判断,火狐和谷歌浏览器并不接受。
需要改为
window.top.document.getElementById("cen").cols
这样三个浏览器都兼容了。
window.top.document.getElementById("cen").cols显然为标准写法,IE的高度容错害人了。 |