B/S程序员们,让我们一起来加速IE6的死亡吧!
???? 下邊這張圖是2011年2月份各瀏覽器的市場占有率狀況,這說明只要我們這群B/S開發者只要再努力一下下就可以把IE6給終結掉了,讓其徹底退出歷史舞臺.
???? Internet Explorer 6 是曾經瀏覽器的霸主, 擊垮 Netscape 并最終占據 95% 的瀏覽器市場. 但如今已經功能性能落后, 還需要特殊照顧, 被稱為阻礙網絡技術向前發展的障礙.
IE6 為何不死????? IE6 久久不離其位當然是有原因的, 根據網上資料與個人總結, 得出以下幾點:
1. 普及時間長, 用戶已經形成了使用習慣, 甚至形成以偏概全的認知. XP 的成功和長壽讓 IE6 成為大家最熟悉的軟件之一, 而且 2001 到現在正是網絡發展最快速的幾年, 很多用戶一直只適用 IE6, 他們找不到 Internet Options 菜單項, 無法理解其他瀏覽器新奇的標簽和工具, 甚至認為 IE6 就是網絡.
2. 在 IE6 盛行幾年間, 很多公司為了節約成本, 開發的應用系統只支持 IE6. 令人稱奇的是現在還有很多企業繼續生產這樣的產品. 系統都做出來了, 現在去兼容吧, 不好意思, 合同沒寫, 加錢也未必做得到. 推倒重做吧, 不可能! 行, 那公司的所有電腦都必須使用 IE6.
3. 如果你有留意瀏覽器的市場占有率, 你會發現 IE 各版本的占有率和 Windows 的占有率成正比, 也就是說, 使用 Windows 系統的用戶大部分都沒有升級或者更換操作系統默認瀏覽器. Vista 的失敗令 Windows XP 和 IE6 有更多的生存空間.
4. 還有一些頑固分子, 可能看著其他瀏覽器不順眼或者覺得用舊東西比較酷 (我的某個朋友就經常吹捧他對 Windows 95 的熟悉).
5. 網頁設計師和開發工程師, 他們是最大的受害者, 是最想擺脫 IE6 但又不能甩手放棄的.
IE6 為何該死????? IE6 是網頁開發人員的噩夢. 他們必須花很多時間和精力去照顧這個老家伙, 所以這幫人很想整死 IE6. 從開發的角度來看, IE6 很該死的.
1. PNG 是一種支持半透明通道的圖片, 可以方便的用于設計網頁, 制作疊層和其他復雜的頁面效果, 但是 IE6 不支持. 用濾鏡強行應付會導致瀏覽器占用超高資源, 并且得不到預想效果.
2. IE6 有自己一套標準的 CSS 樣式, 必須寫更多的代碼去照顧它. (個人認為 IE7 在這方面比 IE6 更糟糕)
3. JavaScript 與 W3C 出入巨大, 連 DOM (Document Object Model) 都不一致, 調用資源的代碼也與 W3C 有很大的出入, 程序員被迫在本來就很松散和復雜的 JS 代碼上追加很多判斷語句.
4. IE6 對于頁面控件的處理與眾不同, 令人很頭痛. 如: select element 的優先度很高會遮擋頁面上 DIV 塊, 必須 hack. radio 按鈕和 checkbox 按鈕的樣式也無法定義, 很難統一頁面風格.
???? 另外, IE6 的安全性, 性能, 功能明顯地已經滿足不了現在的網絡需求. 過兩年, 能不能用來上 "飯否" 都難說. 更換瀏覽器是大勢所趨.
加速 IE6 的滅亡???? HTML5 籌備已久, Windows 7 呼之欲出, 這是一個消滅 IE6 的好機會. 很多網站紛紛向用戶發送更新提示, 希望用戶可以升級或者更換瀏覽器. 還有些網站已經完全不支持 IE6, 要求其訪客更換瀏覽器.
???? 前幾天看到一篇文章, 題目好像是 "前端開發人員能支持 IE6 比較牛, 還是拒絕支持 IE6 的比較牛?" 前者認為用戶需要尊重, 后者認為兼容是延緩 IE6 滅亡的主要原因. 不管你如何認為, 哪個更牛并無關要, 重要的是盡己所能把 IE6 推下懸崖.
什么?! 你還用 IE6? 換了吧! 我已經將本站使用的提示框做成了一個 Widget, 你可以簡單地在 </body> 上添加以下代碼將它添加到你的網頁上.
<!--[if IE 6]>
<script src="http://letskillie6.googlecode.com/svn/trunk/letskillie6.zh_CN.pack.js"></script>
<![endif]-->
關于 Let's kill IE6 控件更詳細的信息請查看以下頁面:
http://www.neoease.com/lets-kill-ie6/
另外我也使用Jquery寫了一個IE8以下必死的Js函數,請大家批評指正,代碼如下:
$(function(){
?? ?try{if(isIE){
?? ??? ?var X,V;V=navigator.appVersion;X=parseFloat(V.substring(V.indexOf("MSIE")+5,V.lastIndexOf("Windows")));
?? ??? ?if(X<8){
?? ??? ??? ?w=screen.width/2-220;
?? ??? ??? ?warncss='<style type="text/css">html,body{overflow:hidden;}#warn{width:500%;height:500%;background-color:#000;position:absolute;z-index:99999;filter:Alpha(opacity=90);-moz-opacity:.9;opacity:0.9;}';
?? ??? ??? ?warncss+='#warn p{border:5px solid red;line-height:30px;width:450px;margin:150px 0 0 '+w+'px;font-size:13px;background-color:#fff;padding:15px;}#warn a{font-size:13px;text-decoration:underline;}</style>';
?? ??? ??? ?$("body").prepend(''+warncss+'<div id="warn"><p><span style="color:red;font-weight:bold;font-size:14px;">對不起:</span><br>您所使用的瀏覽器版本太低了,它無法滿足本網站的需求.<br>請 <a href="http://www.microsoft.com/windows/internet-explorer/" target="_blank">更新至IE8</a> 或下載使用 <a href="http://www.mozilla.com/" target="_blank">Firefox</a> <a href="http://www.opera.com/" target="_blank">Opera</a> <a href="http://www.google.com/chrome/" target="_blank">Chrome</a> 等瀏覽器進行訪問!</p></div>');}}
?? ?}catch(e){}
})(jQuery)
?
如果大家感覺上邊的js代碼不夠狠辣,可以把
$("body").prepend
直接用
$("body").html
替代.
轉載于:https://www.cnblogs.com/see7di/archive/2011/06/17/2239727.html
總結
以上是生活随笔為你收集整理的B/S程序员们,让我们一起来加速IE6的死亡吧!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes【升级】 CKS 2
- 下一篇: 骑行中的三个阶段,摇车效率最高