1. 程式人生 > >frameset 在 Google Chrome 中無法隱藏左邊欄解決方法!

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,*";
            }
        }
<div id="oa_tree" onclick="oa_tool();" title="隱藏工具欄">
                    <br>
                    <img id="frameshow" src="p_1.gif">
                </div>

  但是在 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('mainDefine').cols == "0,10,*") {
                frameshow.src = "p_1.gif";
                oa_tree.title = "隱藏工具欄"
                parent.document.getElementById('mainDefine').cols = "200,10,*";
            }
            else {
                frameshow.src = "p_2.gif";
                oa_tree.title = "顯示工具欄"
                parent.document.getElementById('mainDefine').cols = "0,10,*";
            }

最後吐槽:為什麼少於150字的隨筆不允許釋出到首頁?