DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> IE和Firefox下編寫Javascript的區別(3)
IE和Firefox下編寫Javascript的區別(3)
編輯:CSS詳解     

8.關於frame

(1)現有問題
在IE中可以用window.testFrame取得該frame,mf中不行
(2)解決方法
在frame的使用方面mf和IE的最主要的區別是:
如果在frame標簽中書寫了以下屬性:

那麼IE可以通過id或者name訪問這個frame對應的window對象
而mf只可以通過name來訪問這個frame對應的window對象
例如如果上述frame標簽寫在最上層的window裡面的htm裡面,那麼可以這樣訪問
IE:window.top.frameId或者window.top.frameName來訪問這個window對象
mf:只能這樣window.top.frameName來訪問這個window對象

另外,在mf和IE中都可以使用window.top.document.getElementById("frameId")來訪問frame標簽
並且可以通過window.top.document.getElementById("testFrame").src='xx.htm'來切換frame的內容
也都可以通過window.top.frameName.location='xx.htm'來切換frame的內容
關於frame和window的描述可以參見bbs的‘window與frame’文章
以及/test/Javascript/test_frame/目錄下面的測試
----adun2004.12.09修改

9.在mf中,自己定義的屬性必須getAttribute()取得

10.在mf中沒有parentElementparement.children而用
parentNodeparentNode.childNodes
childNodes的下標的含義在IE和MF中不同,MF使用DOM規范,childNodes中會插入空白文本節點。
一般可以通過node.getElementsByTagName()來回避這個問題。
當Html中節點缺失時,IE和MF對parentNode的解釋不同,例如

  1. <form>
  2. <table>
  3. <input/>
  4. table>
  5. form>

MF中input.parentNode的值為form,而IE中input.parentNode的值為空節點

MF中節點沒有removeNode方法,必須使用如下方法node.parentNode.removeChild(node)

11.const問題

(1)現有問題:
在IE中不能使用const關鍵字。如constconstVar=32;在IE中這是語法錯誤。
(2)解決方法:
不使用const,以var代替。

12.body對象

MF的body在body標簽沒有被浏覽器完全讀入之前就存在,而IE則必須在body完全被讀入之後才存在。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved