IE條件注釋滋尉,嗅探低版本IE用戶玉控,并引導(dǎo)升級(jí)

一、科普IE條件注釋

IE條件注釋功能是條件注釋是IE特有的一種功能狮惜,能對(duì)IE系列產(chǎn)品進(jìn)行單獨(dú)的XHTML代碼處理高诺,注意,主要是針對(duì)XHTML,而非CSS碾篡。條件注釋功能非常強(qiáng)大虱而,可以進(jìn)行true和false判斷

最大好處:IE條件注釋 屬于微軟官方給出的兼容解決辦法而且還能通過(guò)W3C的效驗(yàn)开泽。


上個(gè)栗子:

<!--[if IE 8]> 
<link type="text/css" rel="stylesheet" href="my.css" />   
<![endif]-->

語(yǔ)句的意思是:IE8瀏覽器下牡拇,引入my.css文件。其他版本IE瀏覽器穆律,if判斷為flase惠呼,則不引入。


關(guān)鍵詞解釋

lt :Less than的簡(jiǎn)寫峦耘,小于剔蹋。
lte :Less than or equal to的簡(jiǎn)寫,小于或等于辅髓。
gt :Greater than的簡(jiǎn)寫泣崩,大于少梁。
gte:Greater than or equal to的簡(jiǎn)寫,大于或等于律想。
!:不等于猎莲。

二绍弟、引導(dǎo)升級(jí)實(shí)現(xiàn)

1)嗅探低版本小于IE9的用戶

<!--[if lt IE 9]>
 // IE瀏覽器版本低于IE9的用戶
<![endif]-->

2)強(qiáng)制跳轉(zhuǎn)頁(yè)面的js

<script type="text/javascript">
    window.location.href = "http://"+ window.location.host +"/kill-IE.html";
</script>

3)雙劍合并

<!--[if lt IE 9]>
  <script type="text/javascript">
    window.location.href = "http://"+ window.location.host +"/kill-IE.html";
  </script>
<![endif]-->

三技即、優(yōu)化升級(jí)

在實(shí)際使用場(chǎng)景中,用戶升級(jí)瀏覽器后樟遣,可能會(huì)復(fù)制kill-IE.html的頁(yè)面url進(jìn)行第二次訪問(wèn)而叼。
?這就帶來(lái)一個(gè)問(wèn)題:用戶怎么刷新,還是停留在kill-IE.html這個(gè)頁(yè)面豹悬。

kill-IE.html

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<title>kill-IE</title>
</head>
<body>
    <p>
        <span>推薦瀏覽器:</span>
        <a  title="谷歌" target="_blank" >Google瀏覽器</a>
    </p>
</body>
</html>

解決方法:

kill-IE.html頁(yè)面葵陵,判斷當(dāng)前瀏覽的是不是低版本瀏覽器,不是的話瞻佛,自動(dòng)跳轉(zhuǎn)回訪問(wèn)之前的頁(yè)面或者首頁(yè)脱篙。

1)記錄跳轉(zhuǎn)kill-IE.html之前,所在頁(yè)面的url

將url作為一個(gè)參數(shù)值伤柄,添加在跳轉(zhuǎn)鏈接上

<!--[if lt IE 9]>
  <script type="text/javascript">
    (function(){
        var _location = window.location;
        _location.href = "http://"+ _location.host +"/kill-IE.html?url="+ encodeURIComponent(_location.href);
    })();
  </script>
<![endif]-->

2)修改kill-IE.html
?修改kill-IE.html的處理邏輯绊困,增加判斷當(dāng)前瀏覽器是否為低版本瀏覽器,如果不是低版本的瀏覽器适刀,則不需要停留在當(dāng)前頁(yè)面秤朗。

跳轉(zhuǎn)重定向解決方式:
?獲取當(dāng)前href的url參數(shù)。
?如果有笔喉,則進(jìn)行跳轉(zhuǎn)取视。
?沒(méi)有該參數(shù),則默認(rèn)跳轉(zhuǎn)回主域名常挚。

在線演示https://wall-wxk.github.io/blogDemo/2017/01/20/kill-IE.html
?模擬訪問(wèn)來(lái)源是百度https://wall-wxk.github.io/blogDemo/2017/01/20/kill-IE.html?url=http%3A%2F%2Fwww.baidu.com

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<title>kill-IE</title>
<script>
  var isGoodBrowser = true; // 默認(rèn)標(biāo)記為現(xiàn)代瀏覽器
</script>
<!--[if ltIE 9]>
<script>
  isGoodBrowser = false; // 標(biāo)記為需要升級(jí)的低版本瀏覽器
</script>
<![endif]-->
<script type="text/javascript">
  (function(){
    // 如果是低級(jí)版本瀏覽器作谭,則不進(jìn)行重定向跳轉(zhuǎn)
    if(!isGoodBrowser){
      return;
    }

    var _location = window.location, 
      _search = _location.search.substring(1), // url參數(shù)
      _jumpUrl = "http://"+_location.host, // 主域名
      _params, // 參數(shù)集合
      _item, // 單個(gè)參數(shù)
      _result = "", // 最后得到的跳轉(zhuǎn)url
      _len;
      
    // 抓取url參數(shù)
    if(_search.indexOf("url") != -1){
      _params = _search.split("&");
      _len = _params.length;
      
      while(_len){
       _len -= 1;
       _item = _params[_len];
       
       if(_item.indexOf("url=") != -1){
         result = _item.split("=")[1];
         if(result.length > 0){
          _jumpUrl = decodeURIComponent(result); // 轉(zhuǎn)義回普通字符
         }
         break;
       }
      }
      
    }
    
    _location.href = _jumpUrl; // 跳轉(zhuǎn)頁(yè)面
  })();
</script>

</head>
<body>
  <p>
    <span>推薦瀏覽器:</span>
    <a  title="谷歌" target="_blank" >Google瀏覽器</a>
  </p>
</body>
</html>

完美解決! _ Y


喜歡我文章的朋友奄毡,掃描以下二維碼丢早,關(guān)注我的個(gè)人技術(shù)博客,我的技術(shù)文章會(huì)第一時(shí)間在博客上更新

點(diǎn)擊鏈接wall的個(gè)人博客

wall的個(gè)人博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秧倾,一起剝皮案震驚了整個(gè)濱河市怨酝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌那先,老刑警劉巖农猬,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異售淡,居然都是意外死亡斤葱,警方通過(guò)查閱死者的電腦和手機(jī)慷垮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)揍堕,“玉大人料身,你說(shuō)我怎么就攤上這事●萌祝” “怎么了芹血?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)楞慈。 經(jīng)常有香客問(wèn)我幔烛,道長(zhǎng),這世上最難降的妖魔是什么囊蓝? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任饿悬,我火速辦了婚禮,結(jié)果婚禮上聚霜,老公的妹妹穿的比我還像新娘狡恬。我一直安慰自己,他們只是感情好蝎宇,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布弟劲。 她就那樣靜靜地躺著,像睡著了一般夫啊。 火紅的嫁衣襯著肌膚如雪函卒。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天撇眯,我揣著相機(jī)與錄音报嵌,去河邊找鬼。 笑死熊榛,一個(gè)胖子當(dāng)著我的面吹牛锚国,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播玄坦,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼血筑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了煎楣?” 一聲冷哼從身側(cè)響起豺总,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎择懂,沒(méi)想到半個(gè)月后喻喳,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡困曙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年表伦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谦去。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蹦哼,死狀恐怖鳄哭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情纲熏,我是刑警寧澤妆丘,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站赤套,受9級(jí)特大地震影響飘痛,放射性物質(zhì)發(fā)生泄漏珊膜。R本人自食惡果不足惜容握,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望车柠。 院中可真熱鬧剔氏,春花似錦、人聲如沸竹祷。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)塑陵。三九已至感憾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間令花,已是汗流浹背阻桅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留兼都,地道東北人嫂沉。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像扮碧,于是被迫代替她去往敵國(guó)和親趟章。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案慎王? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,734評(píng)論 1 92
  • Yahoo!的Exceptional Performance團(tuán)隊(duì)為改善Web性能帶來(lái)最佳實(shí)踐蚓土。他們?yōu)榇诉M(jìn)行了一系列...
    拉風(fēng)的老衲閱讀 1,836評(píng)論 0 1
  • 有多少個(gè)北漂的人漫蛔,就有多少個(gè)故事的版本嗜愈。 一旧蛾、 大概每個(gè)年輕人都有過(guò)北京情節(jié)。 覺(jué)得北京是一個(gè)種植夢(mèng)想的地方蠕嫁,這里...
    歪叔留小白閱讀 1,118評(píng)論 2 3
  • 清晨的日光锨天, 明媚又徜徉。 登高高的殿堂之上剃毒, 聽(tīng)霖霖輕和的梵唱病袄。 猶如一股弘流灌注胸膛, 黎明的花朵將再次綻放赘阀。...
    親愛(ài)的小鬼閱讀 268評(píng)論 0 0
  • 最近在研究python益缠,網(wǎng)上扒了數(shù)據(jù),處理下導(dǎo)入excel,根據(jù)凈資產(chǎn)和股價(jià)的數(shù)據(jù)畫(huà)了2013-2016年山東路橋...
    拾荒巴菲特閱讀 347評(píng)論 1 1