JavaScript中瀏覽器兼容問題詳解
在實(shí)際開發(fā)中,瀏覽器兼容性問題是一部分容易被忽視但又最為重要的問題。在處理老版本瀏覽器兼容問題之前,我們需要了解什么是能力檢測(cè)。能力檢測(cè)用于檢測(cè)瀏覽器是否具備某種能力,即判斷當(dāng)前瀏覽器是否支持要調(diào)用的
在實(shí)際開發(fā)中,瀏覽器兼容性問題是一部分容易被忽視但又最為重要的問題。在處理老版本瀏覽器兼容問題之前,我們需要了解什么是能力檢測(cè)。能力檢測(cè)用于檢測(cè)瀏覽器是否具備某種能力,即判斷當(dāng)前瀏覽器是否支持要調(diào)用的屬性或方法。
innerText和innerContent
1)innerText和innerContent的作用相同。
2)innerText在IE8之前的瀏覽器中支持。
3)innerContent在老版本的Firefox中支持。
4)新版本的瀏覽器兩種方式都支持。
獲取兄弟節(jié)點(diǎn)/元素的兼容性問題
1)兄弟節(jié)點(diǎn),在所有瀏覽器中都支持。
- nextSibling:獲取下一個(gè)兄弟節(jié)點(diǎn),可能是非元素節(jié)點(diǎn),會(huì)獲取到文本節(jié)點(diǎn)。
- previousSibling:獲取上一個(gè)兄弟節(jié)點(diǎn),可能是非元素節(jié)點(diǎn),會(huì)獲取到文本節(jié)點(diǎn)。
2)兄弟元素,IE8以前不支持。
- previousElementSibling:獲取上一個(gè)緊鄰的兄弟元素,會(huì)忽略空白。
- nextElementSibling:獲取下一個(gè)緊鄰的兄弟元素,會(huì)忽略空白。
()
使用指定的函數(shù)測(cè)試所有元素,并創(chuàng)建一個(gè)包含所有通過測(cè)試的元素的新數(shù)組。
()
遍歷數(shù)組的每個(gè)元素并執(zhí)行指定的函數(shù)。
注冊(cè)事件
在JavaScript中注冊(cè)事件有以下注意事項(xiàng):
1)事件參數(shù)e是事件對(duì)象,可以通過e來獲取相關(guān)信息。
- 在標(biāo)準(zhǔn)的獲取方式中,事件對(duì)象可以通過參數(shù)傳遞,例如:btn.onclick function(e) {}。
- 在IE8以前的瀏覽器中,事件對(duì)象是通過來獲取。
2)e.eventPhase表示事件的階段,在IE8以前的瀏覽器中不支持。
3)始終是觸發(fā)事件的對(duì)象(即點(diǎn)擊的按鈕)。
- 在IE8以前的瀏覽器中,可以使用srcElement來獲取。
- 為了兼容不同瀏覽器,可以使用以下代碼:var target || 。
獲取鼠標(biāo)在頁面上的位置
1)在可視區(qū)域中的位置:
- :鼠標(biāo)相對(duì)于瀏覽器窗口可視區(qū)域左上角的水平坐標(biāo)。
- :鼠標(biāo)相對(duì)于瀏覽器窗口可視區(qū)域左上角的垂直坐標(biāo)。
2)在文檔中的位置:
- :鼠標(biāo)相對(duì)于整個(gè)文檔左上角的水平坐標(biāo)。
- :鼠標(biāo)相對(duì)于整個(gè)文檔左上角的垂直坐標(biāo)。
獲取頁面滾動(dòng)的距離
通過以下方式獲取頁面滾動(dòng)的距離:
- :獲取滾動(dòng)條頂部距離文檔頂部的距離。
- :獲取滾動(dòng)條左側(cè)距離文檔左側(cè)的距離。
取消文本的選擇
在JavaScript中,可以通過以下方式取消文本的選擇:
- ().removeAllRanges()