首页 > web前端 > js教程 > 如何解决frameset 在 Google Chrome 中无法隐藏左边栏的问题?

如何解决frameset 在 Google Chrome 中无法隐藏左边栏的问题?

青灯夜游
发布: 2018-10-25 16:10:34
转载
3066 人浏览过

本篇文章给大家带来的内容是介绍解决frameset 在 Google Chrome 中无法隐藏左边栏问题的方法 。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

使用Frameset 框架,发现在IE下,

<frameset name="mainDefine" cols="200,10,*" frameborder="NO"  border="0" framespacing="0" rows="*">
      <frame name="LeftFrame" noresize scrolling="auto" src="<%= PageTitle %>" >
      <frame name="middleFrame" scrolling="NO" noresize src="switchBar.html">
      <frame name="mainFrame" id ="mainFrame" scrolling="auto" noresize src="AddTabs.aspx">
</frameset>
登录后复制
switchBar.html 页面中,可以使用js 控制左边栏的显示、隐藏
登录后复制
function oa_tool() {
            if (window.parent.mainDefine.cols == "0,10,*") {
                frameshow.src = "p_1.gif";
                oa_tree.title = "隐藏工具栏"
                window.parent.mainDefine.cols = "200,10,*";
            }
            else {
                frameshow.src = "p_2.gif";
                oa_tree.title = "显示工具栏"
                window.parent.mainDefine.cols = "0,10,*";
            }
        }
登录后复制
<p id="oa_tree" onclick="oa_tool();" title="隐藏工具栏"><br>
         <img id="frameshow" src="p_1.gif">
</p>
登录后复制

但是在 Google Chrome 中,会报错情况 :

无法读取cols属性。

解决方案:

<frameset id="mainDefine" name="mainDefine" cols="200,10,*" frameborder="NO"  border="0" framespacing="0" rows="*">
      <frame name="LeftFrame" noresize scrolling="auto" src="<%= PageTitle %>" >
      <frame name="middleFrame" scrolling="NO" noresize src="switchBar.html">
      <frame name="mainFrame" id ="mainFrame" scrolling="auto" noresize src="AddTabs.aspx">
</frameset>
登录后复制

Frameset 添加ID,在JS中 使用 document.getElementById 来获取ID 的 cols

if (parent.document.getElementById(&#39;mainDefine&#39;).cols == "0,10,*") {
       frameshow.src = "p_1.gif";
       oa_tree.title = "隐藏工具栏"
       parent.document.getElementById(&#39;mainDefine&#39;).cols = "200,10,*";
}
else {
     frameshow.src = "p_2.gif";
     oa_tree.title = "显示工具栏"
     parent.document.getElementById(&#39;mainDefine&#39;).cols = "0,10,*";
}
登录后复制

以上是如何解决frameset 在 Google Chrome 中无法隐藏左边栏的问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:cnblogs.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板