DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> Javascript的IE和Firefox兼容性問題匯編(3)
Javascript的IE和Firefox兼容性問題匯編(3)
編輯:CSS詳解     
.關於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)。

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