(2)解決方法
在frame的使用方面火狐和ie的最主要的區(qū)別是:
如果在frame標簽中書寫了以下屬性:
<frame src="xx.htm" id="frameId" name="frameName" />
那么ie可以通過id或者name訪問這個frame對應的window對象 而火狐只可以通過name來訪問這個frame對應的window對象 例如如果上述frame標簽寫在最上層的window里面的htm里面,那么可以這樣訪問 ie: window.top.frameId或者window.top.frameName來訪問這個window對象
火狐:只能這樣window.top.frameName來訪問這個window對象
另外,在火狐和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/js/test_frame/目錄下面的測試
9. 在火狐中,自己定義的屬性必須getAttribute()取得
10.在火狐中沒有 parentElement parement.children 而用
parentNode parentNode.childNodes childNodes的下標的含義在IE和火狐中不同,火狐使用DOM規(guī)范,childNodes中會插入空白文本節(jié)點。
一般可以通過node.getElementsByTagName()來回避這個問題。
當html中節(jié)點缺失時,IE和火狐對parentNode的解釋不同,例如
<form> <table> <input/> </table> </form>
火狐中input.parentNode的值為form, 而IE中input.parentNode的值為空節(jié)點
火狐中節(jié)點沒有removeNode方法,必須使用如下方法 node.parentNode.removeChild(node)
11.const 問題
(1)現(xiàn)有問題:
在 IE 中不能使用 const 關鍵字。如 const constVar = 32; 在IE中這是語法錯誤。
(2)解決方法:
不使用 const ,以 var 代替。
12. body 對象
火狐的body在body標簽沒有被瀏覽器完全讀入之前就存在,而IE則必須在body完全被讀入之后才存在
出處:博客園
責任編輯:bluehearts
上一頁 ie和火狐兼容問題 [2] 下一頁 ie和火狐兼容問題 [4]
◎進入論壇網(wǎng)絡編程版塊參加討論
|