IE瀏覽器下兼容判斷

首先講一下css hack這東西

由于不同的瀏覽器蛇数,甚至同一瀏覽器的不同版本對(duì)CSS的解析認(rèn)識(shí)不一樣,導(dǎo)致生成的頁面效果不一致立宜,寫出針對(duì)不同瀏覽器CSS code就稱為CSS hack站叼。

常用的CSS hack 有三種方式,CSS 內(nèi)部hack随抠、選擇器hack裁着、HTML 頭部引用,其中第一種最常用拱她。

CSS3中的常見寫法:

/Mozilla內(nèi)核瀏覽器:firefox3.5+/ -moz-transform: rotate | scale | skew | translate ;

/Webkit內(nèi)核瀏覽器:Safari and Chrome/ -webkit-transform: rotate | scale | skew | translate ;

/Opera/ -o-transform: rotate | scale | skew | translate ;

/IE9/ -ms-transform: rotate | scale | skew | translate ;

/W3C標(biāo)準(zhǔn)/ transform: rotate | scale | skew | translate ;

1.IE8以及以下版本瀏覽器

.ie6_7_8{

 color:blue; /*所有瀏覽器*/

color:red\9; /*IE8以及以下版本瀏覽器*/

}

2.IE7以及以下版本瀏覽器

.ie6_7_8{

color:blue; /*所有瀏覽器*/

color:red\9; /*IE8以及以下版本瀏覽器*/

*color:green; /*IE7及其以下版本瀏覽器*/

}

3.IE6瀏覽器

.ie6_7_8{

color:blue; /所有瀏覽器/

color:red\9; /IE8以及以下版本瀏覽器/

color:green; /IE7及其以下版本瀏覽器*/

_color:purple; /IE6瀏覽器/

}

HTML頭部應(yīng)用之前先了解個(gè)概念

lte:小于或等于

lt :小于

gte:大于或等于

gt :大于

! :非

是否是IE下的判斷:


也可以在其中加入

<link rel="stylesheet" type="text/css" href="ie.css" />

依照個(gè)人情況而定

是否是IE8及以下的判斷:(以VUE的支持為范圍為分界線二驰,個(gè)人寫法,可自行改變)

可在內(nèi)容里添加對(duì)應(yīng)的操作秉沼,比如提示用戶升級(jí)瀏覽器并且給出升級(jí)的網(wǎng)站地址

百度得到的判斷時(shí)候是IE9及以下的方法中桶雀,除了用HTML頭部方法,還有一段JS

 (function (w) {
        if (!("WebSocket" in w && 2 === w.WebSocket.CLOSING)) {
            var d = document.createElement("div");
            d.className = "browsehappy";
            d.innerHTML = '<div style="width:100%;height:100px;font-size:20px;line-height:100px;text-align:center;background-color:#E90D24;color:#fff;margin-bottom:40px;">\u4f60\u7684\u6d4f\u89c8\u5668\u5b9e\u5728<strong>\u592a\u592a\u65e7\u4e86</strong>\uff0c\u592a\u592a\u65e7\u4e86 <a target="_blank"  style="background-color:#31b0d5;border-color: #269abc;text-decoration: none;padding: 6px 12px;background-image: none;border: 1px solid transparent;border-radius: 4px;color:#FFEB3B;">\u7acb\u5373\u5347\u7ea7</a></div>';
            var f = function () {
                var s = document.getElementsByTagName("body")[0];
                if ("undefined" == typeof(s)) {
                    setTimeout(f, 10)
                } else {
                    s.insertBefore(d, s.firstChild)
                }
            };
            f()
        }
    }(window));

這里解釋下為什么可以這么做:
Web Sockets 目前在各個(gè)瀏覽器到終端支持性并不好唬复, 只有IE 10+矗积, FF 34+, Chrome 31+敞咧, Safari 7.1+棘捣, Android Browser 4.4+ 才得到支持。
其實(shí)主要用到瀏覽器是否支持websocket來判斷是否是IE9及以下妄均,后面的判斷狀態(tài)是否是closing在此處似乎也沒什么作用柱锹,可能我不太了解吧哪自,不過問題不大丰包。
/加點(diǎn)東西:
webSocket.readyState屬性返回實(shí)例對(duì)象的當(dāng)前狀態(tài),共有四種壤巷。
CONNECTING:值為0邑彪,表示正在連接。
OPEN:值為1胧华,表示連接成功寄症,可以通信了。
CLOSING:值為2矩动,表示連接正在關(guān)閉有巧。
CLOSED:值為3,表示連接已經(jīng)關(guān)閉悲没,或者打開連接失敗篮迎。
/

對(duì)于不同公司業(yè)務(wù),對(duì)于瀏覽器判斷類型可以通過navigator.userAgent來實(shí)現(xiàn)示姿,方法如下:

 function IEVersion() { //由于微軟IE最高更新到IE11甜橱,edge為微軟推出的新瀏覽器定義為12,其他瀏覽器統(tǒng)一判斷為13,以vue為基礎(chǔ) 將以小于9為提示升級(jí)瀏覽器栈戳,大于則不判斷
        var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串
        var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判斷是否IE<11瀏覽器
        var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判斷是否IE的Edge瀏覽器
        var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
        if (isIE) {
            var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
            reIE.test(userAgent);
            var fIEVersion = parseFloat(RegExp["$1"]);
            if (fIEVersion === 7) {
                return 7;
            } else if (fIEVersion === 8) {
                return 8;
            } else if (fIEVersion === 9) {
                return 9;
            } else if (fIEVersion === 10) {
                return 10;
            } else {
                return 6;//IE版本<=7
            }
        } else if (isEdge) {
            return 12;//edge
        } else if (isIE11) {
            return 11; //IE11
        } else {
            return 13;//不是ie瀏覽器
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末岂傲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子子檀,更是在濱河造成了極大的恐慌镊掖,老刑警劉巖乃戈,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異堰乔,居然都是意外死亡涂佃,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門向族,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吟策,“玉大人,你說我怎么就攤上這事苟翻≡下保” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵崇猫,是天一觀的道長沈条。 經(jīng)常有香客問我,道長诅炉,這世上最難降的妖魔是什么蜡歹? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮涕烧,結(jié)果婚禮上月而,老公的妹妹穿的比我還像新娘。我一直安慰自己议纯,他們只是感情好父款,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瞻凤,像睡著了一般憨攒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上阀参,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天肝集,我揣著相機(jī)與錄音,去河邊找鬼蛛壳。 笑死杏瞻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的炕吸。 我是一名探鬼主播伐憾,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼赫模!你這毒婦竟也來了树肃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤瀑罗,失蹤者是張志新(化名)和其女友劉穎胸嘴,沒想到半個(gè)月后雏掠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡劣像,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年乡话,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耳奕。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绑青,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屋群,到底是詐尸還是另有隱情闸婴,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布芍躏,位于F島的核電站邪乍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏对竣。R本人自食惡果不足惜庇楞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望否纬。 院中可真熱鬧吕晌,春花似錦、人聲如沸烦味。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谬俄。三九已至,卻和暖如春弃理,著一層夾襖步出監(jiān)牢的瞬間溃论,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國打工痘昌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钥勋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓辆苔,卻偏偏與公主長得像算灸,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子驻啤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

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

  • Transform字面上就是變形菲驴,改變的意思。在CSS3中transform主要包括以下幾種:旋轉(zhuǎn)rotate骑冗、扭...
    hzrWeber閱讀 22,139評(píng)論 0 19
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color赊瞬,font先煎,text-align,li...
    love2013閱讀 2,315評(píng)論 0 11
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color巧涧,font薯蝎,text-align,li...
    wzhiq896閱讀 1,754評(píng)論 0 2
  • 1 CSS屬性 1.1 濾鏡 1.1.1 blur屬性 1.1.1.1 代碼示例 CSS代碼: .blur { ...
    Kevin_Junbaozi閱讀 732評(píng)論 1 4
  • 最近一直想看qin山的書谤绳,在網(wǎng)上也搜了很多占锯,但是也一直不敢放下心去看,總覺得還有事情缩筛,我要去完成烟央,但是往往過了一天...
    白喆的愛妃閱讀 159評(píng)論 0 0