5. 用idName字符串取得對(duì)象的問(wèn)題
現(xiàn)有問(wèn)題: 在IE中,利用 eval(idName) 可以取得 id 為 idName 的 HTML 對(duì)象,在MF 中不能。
解決方法: 用 getElementById(idName) 代替 eval(idName)。
6. 變量名與某 HTML 對(duì)象 id 相同的問(wèn)題
現(xiàn)有問(wèn)題: 在 MF 中,因?yàn)閷?duì)象 id 不作為 HTML 對(duì)象的名稱(chēng),所以可以使用與 HTML 對(duì)象 id 相同的變量名,IE 中不能。
解決方法: 在聲明變量時(shí),一律加上 var ,以避免歧義,這樣在 IE 中亦可正常運(yùn)行。 此外,最好不要取與 HTML 對(duì)象 id 相同的變量名,以減少錯(cuò)誤。
其它: 參見(jiàn) 問(wèn)題4
7. event.x 與 event.y 問(wèn)題
現(xiàn)有問(wèn)題: 在IE 中,event 對(duì)象有 x, y 屬性,MF中沒(méi)有。
解決方法: 在MF中,與event.x 等效的是 event.pageX。但event.pageX IE中沒(méi)有。 故采用 event.clientX 代替 event.x。在IE 中也有這個(gè)變量。 event.clientX 與 event.pageX 有微妙的差別(當(dāng)整個(gè)頁(yè)面有滾動(dòng)條的時(shí)候),不過(guò)大多數(shù)時(shí)候是等效的。
如果要完全一樣,可以稍麻煩些: mX = event.x ? event.x : event.pageX; 然后用 mX 代替 event.x
其它: event.layerX 在 IE 與 MF 中都有,具體意義有無(wú)差別尚未試驗(yàn)。
8. 關(guān)于frame
現(xiàn)有問(wèn)題: 在 IE中 可以用window.testFrame取得該frame,mf中不行
解決方法: 在frame的使用方面mf和ie的最主要的區(qū)別是: 如果在frame標(biāo)簽中書(shū)寫(xiě)了以下屬性:
<frame src="xx.htm" id="frameId" name="frameName" />
那么ie可以通過(guò)id或者name訪問(wèn)這個(gè)frame對(duì)應(yīng)的window對(duì)象 而mf只可以通過(guò)name來(lái)訪問(wèn)這個(gè)frame對(duì)應(yīng)的window對(duì)象 例如如果上述frame標(biāo)簽寫(xiě)在最上層的window里面的htm里面,那么可以這樣訪問(wèn) ie: window.top.frameId或者window.top.frameName來(lái)訪問(wèn)這個(gè)window對(duì)象 mf: 只能這樣window.top.frameName來(lái)訪問(wèn)這個(gè)window對(duì)象
另外,在mf和ie中都可以使用window.top.document.getElementById("frameId")來(lái)訪問(wèn)frame標(biāo)簽 并且可以通過(guò)window.top.document.getElementById("testFrame").src = 'xx.htm'來(lái)切換frame的內(nèi)容 也都可以通過(guò)window.top.frameName.location = 'xx.htm'來(lái)切換frame的內(nèi)容 關(guān)于frame和window的描述可以參見(jiàn)bbs的‘window與frame’文章 以及/test/js/test_frame/目錄下面的測(cè)試 ----adun 2004.12.09修改
9. 在mf中,自己定義的屬性必須getAttribute()取得
出處:我愛(ài)CSS
責(zé)任編輯:bluehearts
上一頁(yè) JS的IE和FF兼容性問(wèn)題匯總 [1] 下一頁(yè) JS的IE和FF兼容性問(wèn)題匯總 [3]
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|