日期:2014-05-17  浏览次数:20632 次

关于iframe兼容问题求解
之前做了一个框架,如下图所示,在js里面隐藏左边的菜单栏,用js代码如下
 $(window.parent.document).find("#frameset2").attr("cols","0,30px,*");
在火狐和opera下是可以的,但是在chrome和ie下就无法隐藏,求解决方法

------解决方案--------------------
引用:
之前做了一个框架,如下图所示,在js里面隐藏左边的菜单栏,用js代码如下
 $(window.parent.document).find("#frameset2").attr("cols","0,30px,*");
在火狐和opera下是可以的,但是在chrome和ie下就无法隐藏,求解决方法
 ……

chrome下需要搭建http服务访问,file协议无法操作iframe,获取不到对象,webkit核心的浏览器好像都有这个问题,如360最新版本,可以参考这个:chrome浏览器iframe parent.document为undefined

IE没发现你的问题。。
test.html
<frameset cols="230,*" frameborder="no" border="0" framespacing="0" id="frameset2">
    <frame src="1.html" name="leftFrame"  noresize="noresize" id="leftFrame" title="leftFrame" />
    <frame src="http://www.coding123.net/" name="mainFrame" id="mainFrame" title="mainFrame" />
  </frameset>


1.html
<script type="text/javascript" src="http://www.coding123.net/js/jquery.js"></script>
<script type="text/javascript">
    function hideme() {
        $(parent.document).find("#frameset2").attr("cols", "20px,*");
    }
</script>
<a href="javascript:hideme()">隐<br />藏</a>