搜尋
首頁web前端js教程Javascript在IE和FireFox的不同表現簡析_javascript技巧

1.document.formName.item("itemName") 問題
說明:IE下,可以使用document.formName.item("itemName")或document.formName.elements["elementName"];Firefox下方,只能使用document.formName.elements["elementName"].
解決方法:統一使用document.formName.elements["elementName"].
2.集合類別物件問題
說明:IE下,可以使用()或[]取得集合類別物件;Firefox下,只能使用[]取得集合類別物件.
解決方法:統一使用[]取得集合類別物件.
3.自訂屬性問題
說明:IE下,可以使用取得常規屬性的方法來取得自訂屬性,也可以使用getAttribute()取得自訂屬性;Firefox下,只能使用getAttribute()取得自訂屬性.
解決方法:統一透過getAttribute()取得自訂屬性.
4.eval("idName")問題
說明:IE下,,可以使用eval("idName")或getElementById("idName")來取得id為idName的HTML物件;Firefox下只能使用getElementById("idName")來取得id為idName的HTML物件.
解決方法:統一用getElementById("idName")來取得id為idName的HTML物件.
5.變數名稱與某HTML物件ID相同的問題
說明:IE下,HTML物件的ID可以作為document的下屬物件變數名稱直接使用;Firefox下則不能.Firefox下,可以使用與HTML物件ID相同的變數名;IE下則不能。
解決方法:使用document.getElementById("idName")代替document.idName.最好不要取HTML物件ID相同的變數名稱,以減少錯誤;在宣告變數時,一律加上var,以避免歧義.
7.input.type屬性問題
說明:IE下input.type屬性為唯讀;但是Firefox下input.type屬性為讀寫.
9.event.x與event.y問題
說明:IE下,even物件有x,y屬性,但是沒有pageX,pageY屬性;Firefox下,even物件有pageX,pageY屬性,但是沒有x,y屬性.
解決方法:使用mX(mX = event.x ? event.x : event.pageX;)來取代IE下的event.x或Firefox下的event.pageX.
10.event.srcElement問題
說明:IE下,event物件有srcElement屬性,但是沒有target屬性;Firefox下,event物件有target屬性,但是沒有srcElement屬性.
解決方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)來取代IE下方的event.srcElement或Firefox下的event.target.
13.frame問題
以下面的frame為例:

(1)存取frame物件:
IE:使用window.frameId或window.frameName來存取這個frame物件.
Firefox:只能使用window.frameName來存取這個frame物件.
另外,在IE和Firefox中都可以使用window.document.getElementById("frameId")來存取這個frame物件.
(2)切換frame內容:
在IE和Firefox中都可以使用window .document.getElementById("testFrame").src = "xxx.html"或window.frameName.location = "xxx.html"來切換frame的內容.
如果需要將frame中的參數傳回父窗口,可以在frme中使用parent來存取父視窗。例如:parent.document.form1.filename.value="Aqing";
14.body問題
Firefox的body在body標籤沒有被瀏覽器完全讀入之前就存在;而IE的body則必須在body標籤被瀏覽器完全讀入之後才存在.
例如:
Firefox:

複製程式碼


程式碼如下:



}







複製程式碼

程式碼如下:




15. 事件委託方法IE:document.body.onload = inject; //Function inject()在這之前已被實作
Firefox:document.body.onload = inject();
有人說標準是:
複製程式碼 程式碼如下: document.body.onload=newunction. ('inject()');
16. firefox與IE(parentElement)的父元素的區別
IE:obj.parentElement
firefox:obj.parentNode
解決方法: 因為firefox與IE都支援DOM,因此使用obj. parentNode是不錯選擇.
17.innerText在IE中能正常運作,但是innerText在FireFox中卻不行.
解決方法:
複製程式碼



複製程式碼


複製程式碼


複製程式碼 程式碼如下: if(navigator.appName.indexOf("Explorer") > -1){
document.getElementById('element').innerText = "my text";
} else{
document.getElementById('element').textContent = "my text";
}


18. FireFox中類似obj .style.height = imgObj.height 的語句無效
解決方法: 代碼如下:

obj.style.height = imgObj.height 'px';


19. ie,firefox以及其它瀏覽器對於table 標籤的操作都各不相同,在ie中不各不相同允許對table和tr的innerHTML賦值,使用js增加一個tr時,使用appendChile方法也不管用。
解決方法:



複製程式碼


程式碼如下:


//向table空白行:
var row = otable.insertRow(-1);
var cell = document.createElement("td");
cell.innerHTML = " ";
cell.className = " XXXX";
row.appendChild(cell);


20. padding 問題
padding 5px 4px 3px 1px FireFox無法解釋簡寫,
必須改為; padding-right:4px; padding-bottom:3px; padding-left:1px;
21. 消除ul、ol等清單的縮排時
樣式應寫成:list-style:none;margin:0px ;padding:0px;
其中margin屬性對IE有效,padding屬性對FireFox有效
22. CSS透明
IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60) 。 FF:opacity:0.6。 23. CSS圓角 IE:不支援圓角。 FF: -moz-border-radius:4px,或-moz-border-radius-topleft:4px;-moz-border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz -border-radius- bottomright:4px;。 24. CSS雙線凹凸邊框 IE:border:2px outset;。
FF: -moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-right-colors:#404040 #808080;-moz-border- bottom-colors:#404040 #808080;
25. ie支援document.all 而firefox 不支援
改用下面三個tag的其中一個來代替document.all
getElementsByTagName("tagName") 可以得到所有標籤元素的集合
getElementById("idName ") 可以按id得到某一元素
getElementsByName("Name") 可以得到按name屬性得到某一元素
26、firefox 中使用innerHTML 的方法




複製程式碼 程式碼如下:
document.all.online.innerHTML; / /這種方法在IE中可以使用,但不是標準方法document.getElementById("online").innerHTML; //這樣firefox就能使用innerHTML了 27、eval( )與window.execScript()執行腳本IE、firerox皆支援eval(),firefox不支援window.execScript() 解決:統一使用eval() 28、對事件處理函數的重寫解決:(例):如對document的onclick()重寫,統一使用document.onclick = function(){…}
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Ubuntu Linux中如何删除Firefox Snap?Ubuntu Linux中如何删除Firefox Snap?Feb 21, 2024 pm 07:00 PM

要在UbuntuLinux中删除FirefoxSnap,可以按照以下步骤进行操作:打开终端并以管理员身份登录到Ubuntu系统。运行以下命令以卸载FirefoxSnap:sudosnapremovefirefox系统将提示你输入管理员密码。输入密码并按下Enter键以确认。等待命令执行完成。一旦完成,FirefoxSnap将被完全删除。请注意,这将删除通过Snap包管理器安装的Firefox版本。如果你通过其他方式(如APT包管理器)安装了另一个版本的Firefox,则不会受到影响。通过以上步骤

es6数组怎么去掉重复并且重新排序es6数组怎么去掉重复并且重新排序May 05, 2022 pm 07:08 PM

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

JavaScript的Symbol类型、隐藏属性及全局注册表详解JavaScript的Symbol类型、隐藏属性及全局注册表详解Jun 02, 2022 am 11:50 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

原来利用纯CSS也能实现文字轮播与图片轮播!原来利用纯CSS也能实现文字轮播与图片轮播!Jun 10, 2022 pm 01:00 PM

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

mozilla firefox可以卸载吗mozilla firefox可以卸载吗Mar 15, 2023 pm 04:40 PM

mozilla firefox可以卸载;firefox属于第三方浏览器,如果不需要,完全可以卸载。卸载方法:1、在开始菜单中,依次点击“Windwos系统”-“控制面板”;2、在“控制面板”界面中,点击“程序和功能”;3、在新界面中,找到并双击火狐浏览器图标;4、在卸载弹窗中,点击“下一步”;5、点击“卸载”即可。

火狐浏览器Firefox 113 新特性:支持AV1动图、增强密码生成器和画中画特性火狐浏览器Firefox 113 新特性:支持AV1动图、增强密码生成器和画中画特性Mar 05, 2024 pm 05:20 PM

近日消息,Mozilla在发布Firefox112稳定版的同时,也宣布下个主要版本Firefox113进入Beta频道,支持AV1动图、增强密码生成器和画中画特性。火狐浏览器Firefox113主要新功能/新特性如下支持AV1格式动图(AVIS)通过引入特殊字符来增强密码生成器的安全性增强画中画功能,支持后退、显示视频时间,能更轻松地启用全屏模式为Debian和Ubuntu发行版提供官方DEB安装文件更新书签导入功能,默认情况下支持导入书签的图标在支持的硬件上默认启用硬件加速AV1视频解码使用w

JavaScript对象的构造函数和new操作符(实例详解)JavaScript对象的构造函数和new操作符(实例详解)May 10, 2022 pm 06:16 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

JavaScript面向对象详细解析之属性描述符JavaScript面向对象详细解析之属性描述符May 27, 2022 pm 05:29 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),