|
試圖用以下表達(dá)式提取中括號(hào)“]”后面的內(nèi)容,連接調(diào)用以下代碼在IE下正常,F(xiàn)ireFox則總是會(huì)用單數(shù)行的內(nèi)容替代雙數(shù)行的內(nèi)容。
(/(/])([^ -}]*)/ig).exec(srcText);
newtext = "[部門]" + RegExp.$2;
后證實(shí)問題出在“ig”的“g”上,F(xiàn)ireFox把RegExp當(dāng)全局變量來處理,且沒有及時(shí)更新$2,這種問題實(shí)在莫名其妙。
二、移除Select的條目
IE支持select.options.remove(index),F(xiàn)ireFox卻是select.remove(index),兼容的方法是select.options[i] = null;
三、showModalDialog
FireFox可以showModalDialog的了,不過如果showModalDialog出來的頁面套了個(gè)frame,frame的頁面取window.dialogArguments可以成功,F(xiàn)ireFox不行,要用window.parent.dialogArguments來取。
四、childNodes
FF沒有children,要兼容用childNodes,但I(xiàn)E和FF解釋不一致,F(xiàn)F將空白文本、換行當(dāng)成節(jié)點(diǎn),為避免childNodes(index)取得的節(jié)點(diǎn)正確,HTML標(biāo)識(shí)間不要有空格或換行 。
五、removeChild
FF中不能和node.removeNode(true),改為node.parentNode.removeChild(node)。
六、outerHTML
FF沒有node.outerHTML,在調(diào)用node.parentNode.innerHTML來特別處理,若只是添加事件響應(yīng)或設(shè)屬性值,可直接element.onclick = function(){callxxx(x,y);}
七、script域問題
此問題原因不詳,F(xiàn)F用<script type="text/Javascript" src="inc/lib.js"></script>調(diào)用外部JS,在內(nèi)部script中調(diào)用lib.js中的函數(shù)時(shí),報(bào)告函數(shù)未定義,IE則無此問題。
JavaScript技術(shù):編寫兼容IE和FireFox的腳本,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。