一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

你的網站「被兼容」了嗎?

  一般情況下,我們只會討論我們的網站如何主動兼容某某瀏覽器,被動地等待瀏覽器來兼容我們的網站是不切實際的幻想——哪個瀏覽器會那么偉大,原意主動為一個不兼容的網站而作出改變呢?IE8就是這樣一個偉大的瀏覽器,Microsoft就是一家這樣偉大的企業。

  故事是這樣的,我們有一小段JavaScript依賴于userAgent屬性,同樣是用IE8進行瀏覽,在測試環境上userAgent顯示為MSIE 7.0,而在生產環境上userAgent顯示為MSIE 8.0。為什么會這樣呢?打開Developer Toolbar后,發現原來是Browser Mode這個開關在搞鬼——當Browser Mode是InterNET Explorer 8的時候,userAgent就是MSIE 8.0;當Browser Mode是InterNET Explorer 8 Compatibility View(兼容性視圖)或InterNET Explorer 7的時候,userAgent就是MSIE 7.0了。

  接下來的問題是,我們并沒有刻意去撥動這個開關啊,兩個相同的頁面怎么在不同的環境中默認顯示為不同的Browser Mode呢?我的猜想是,這是由于域名不同而引起的——Microsoft自己維護著一個Compatibility View List,當訪問該List中的站點時,IE8會自動啟用Compatibility View,也就是將Browser Mode切換到InterNET Explorer 8 Compatibility View。接著我在地址欄輸入以下地址,檢查了一下我本地最近更新的List:

  res://iecompat.dll/iecompatdata.xml

  事實表明,我們測試用的baidu.com域名確實在上述List中,但部署到baidu.jp后也就脫離了該List。這就很好地解釋了我們遇到問題,同時也提醒我們域名已經成為了IE8測試中不可避免的一個緊耦合因素。在過去,我們可以簡單地認為,部署在不同URL的相同頁面在同一款瀏覽器中顯示出來總是一樣的。但現在我們必須修正這句話了,僅當不同URL都基于同一個域名時上述命題仍然成立。

  通過這個案例,希望能讓大家了解到在開發與測試過程中保持域名一致的重要性。如果你開發的頁面要部署到example.com,你最好在develop.example.com上開發,在test.example.com上測試,然后再部署。如果你需要在本機進行開發測試,也要通過改hosts模擬一個localhost.example.com來進行測試與調試,以確保代碼在最終部署后能執行在相同的環境下。

it知識庫你的網站「被兼容」了嗎?,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: a资源在线观看 | 亚洲国产成人久久午夜 | 91视频日韩 | 天天澡天天摸天天爽免费 | 久久久影院亚洲精品 | 国产一区二区高清在线 | 九一国产精品视频 | 九九视频免费精品视频免费 | 欧美日本一区二区三区 | 伊香蕉大综综综合久久 | 综合图区亚洲白拍在线 | 999re6热在线精品视频思思 | 久久久久国产精品美女毛片 | 欧美成人免费午夜影视 | 精品国产第一国产综合精品 | 国产91精选在线观看麻豆 | 国产精品李雅在线观看 | 国产综合久久久久久鬼色 | 中文字幕91在线 | 色网站免费看 | 国内久久久久久久久久 | 国产成人亚洲日本精品 | 在线亚洲日产一区二区 | 亚洲最大的视频网站 | 精品福利在线观看 | 亚洲国产精品一区二区三区在线观看 | 日韩欧美一二区 | 精品一区二区视频 | 国产精品久久自在自2021 | 国产激情视频在线观看首页 | 亚洲 图片 小说 欧美 另类 | 欧美特黄a级高清免费看片 欧美特黄a级片 | 国产在线每日更新 | 久久国产乱子伦精品免 | 岬奈一区二区中文字幕 | 日本精品久久久久久久 | 国产网红在线观看 | 成人在免费观看视频国产 | 激情视频综合网 | 亚洲欧美日本在线 | 久久综合色88 |