html\css\js-dom在不同主流瀏覽器的兼容問(wèn)題

1、html

主要是解決html5在主流瀏覽器上的兼容性。特別是在IE瀏覽器上的兼容性茂浮。

//方法 一:使用google的html5shiv包,將它引入放在<head></head>內(nèi)部

<!--[if IE]>

<script src='http://html5shiv.googlecode.com/svn/trunk/html5.js'></script>

<![endif]-->

//原理就是使html5標(biāo)簽成塊狀

//方法二:直接寫js代碼

<!--[if lt IE9]>? ?

<script>? ?

? (function() {?

? ? if (!? ?

? ? /*@cc_on!@*/?

? ? 0) return;?

? ? var e = "abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(', ');?

? ? var i= e.length;?

? ? while (i--){?

? ? ? ? document.createElement(e[i])?

? ? }? ?

})()? ?

</script>?

<![endif]-->

注:@cc_on!@可以被ie識(shí)別并作為程序執(zhí)行壳咕,同時(shí)啟用ie的條件編譯

//方法三:如果ie6/7/8 禁用腳本的用戶,那么可以參照f(shuō)acebook的做法席揽,引導(dǎo)用戶進(jìn)入帶有noscript標(biāo)識(shí)的頁(yè)面,用html4標(biāo)簽代替HTML5標(biāo)簽谓厘。當(dāng)用戶點(diǎn)擊’查看這里’時(shí),引導(dǎo)用戶進(jìn)入html4標(biāo)簽設(shè)計(jì)的網(wǎng)頁(yè)

<!--[if lte IE 8]>? ?

<noscript>?

? ? <style>.html5-wrappers{display:none!important;}</style>?

? ? <div class="ie-noscript-warning">您的瀏覽器禁用了腳本幌羞,請(qǐng)<a href="">查看這里</a>來(lái)啟用腳本!或者<a href="/?noscript=1">繼續(xù)訪問(wèn)</a>.?

? ? </div>?

</noscript>?

<![endif]-->

css

css3不兼容IE9以下瀏覽器的解決方案:

//對(duì)于css3新增的屬性,大多數(shù)解決方式是屬性名前加不同瀏覽器內(nèi)核前綴

-ms-border-radius

-moz-border-radius

-o-border-radius

-webkit-radius

也可以使用google提供的一個(gè)包

<!--[if lte IE 9]>

? ? <script src="JS/selectivizr.js"></script>

? ? <![endif]-->

? ? 但是竟稳,需要注意幾點(diǎn):

? ? (1)與selectivizr.js同文件夾下需要放入PIE.htc属桦,PIE_IE9.js熊痴,PIE_IE678.js,prefixfree.min.js文件;

? ? (2)樣式不能是行內(nèi)樣式聂宾;

? ? (3)如果需要用到偽類的選擇器愁拭,請(qǐng)?jiān)陧?yè)面引用JQ、 MooTools文件等亏吝,不同的文件對(duì)選擇器的支持程度不同岭埠。

其他,css在不同瀏覽器的差異解決

(1)cursor:hand; 和 cursor:pointer

firfox不支持hand,IE支持pointer

所以統(tǒng)一使用pointer

(3)css透明問(wèn)題

firfox:opacity:0.5;

IE:filter(alpha=50);zoom:1;

(4)css中的width和padding

在IE7和FF中width寬度不包括padding,在IE6中包括padding

(5)IE中盒子大小不包括border蔚鸥;Firfox中包括

解決方案:使用!important

div{margin:30px !important;margin:28px;}

因?yàn)樵贗E中不之別!important,在別的瀏覽器識(shí)別它惜论。

(6)margin加倍問(wèn)題

在IE中,給float的div設(shè)置margin值會(huì)加倍止喷,這是IE6都存在的問(wèn)題

解決方案:給div加 display:inline;

(7)IE不識(shí)別min-

在IE 中把正常的width和height當(dāng)有min-的情況馆类。所以可以同時(shí)設(shè)置width和min-width

div{width:auto;height:auto;min-width:80px;}

js-DOM

(1)注冊(cè)事件和移出事件

IE : attachEvent(on+eventName,callback) callback中的this指向window ; detachEvent(on+eventName)

火狐和谷歌:addEventListener(eventName,callback,false) callback中this指向當(dāng)前事件對(duì)象 ; removeEventListener(eventName)

(2)取消事件冒泡

IE: window.event.cancelBubble = true

火狐: e.stopPropagation()

谷歌二者都可以

(3)取消瀏覽器默認(rèn)行為

通用的return false;

event.preventDefault() //低版本IE不支持

低版本IE: window.event.returnValue = false

(4)innerText和textContent

IE中有innerText屬性,firfox中有textContent

解決方案:

function setInnerText(ele,content){

? ? if(typeof ele.textContent==='undefined'){

? ? ele.innerText = content

}else{

? ? ele.textContent=content

}

}

(5)input的type屬性

IE: input的type屬性是只讀的

Firfox: input的type屬性是可寫的

(6)重定向到新頁(yè)面

IE\火狐2.0 : window.location 或者 window.location.href

Firfox1.5 : window.location

(7)獲取事件的真正觸發(fā)者

IE : window.event.srcElement

火狐: event.target

(8)獲取樣式float關(guān)鍵字

IE : element.style.styleFloat

非IE : element.style.cssFloat

(9)獲得計(jì)算后的樣式

IE: element.currentStyle

非IE: window.getComputedStyle(element,null)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弹谁,一起剝皮案震驚了整個(gè)濱河市乾巧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌预愤,老刑警劉巖沟于,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異植康,居然都是意外死亡旷太,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門销睁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)供璧,“玉大人,你說(shuō)我怎么就攤上這事冻记∷荆” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵冗栗,是天一觀的道長(zhǎng)演顾。 經(jīng)常有香客問(wèn)我,道長(zhǎng)贞瞒,這世上最難降的妖魔是什么偶房? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮军浆,結(jié)果婚禮上棕洋,老公的妹妹穿的比我還像新娘。我一直安慰自己乒融,他們只是感情好掰盘,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布摄悯。 她就那樣靜靜地躺著,像睡著了一般愧捕。 火紅的嫁衣襯著肌膚如雪奢驯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天次绘,我揣著相機(jī)與錄音瘪阁,去河邊找鬼。 笑死邮偎,一個(gè)胖子當(dāng)著我的面吹牛管跺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播禾进,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼豁跑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了泻云?” 一聲冷哼從身側(cè)響起艇拍,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宠纯,沒(méi)想到半個(gè)月后卸夕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡征椒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年娇哆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勃救。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖治力,靈堂內(nèi)的尸體忽然破棺而出蒙秒,到底是詐尸還是另有隱情,我是刑警寧澤宵统,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布晕讲,位于F島的核電站,受9級(jí)特大地震影響马澈,放射性物質(zhì)發(fā)生泄漏瓢省。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一痊班、第九天 我趴在偏房一處隱蔽的房頂上張望勤婚。 院中可真熱鬧,春花似錦涤伐、人聲如沸馒胆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祝迂。三九已至睦尽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間型雳,已是汗流浹背当凡。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纠俭,地道東北人沿量。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像柑晒,于是被迫代替她去往敵國(guó)和親欧瘪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容