做网站的都头疼过ie8吧?客户非说要在ie8里打开,你查一查数据,全是0。别纠结了,直接告诉客户,这浏览器早该进博物馆了。今天咱就聊聊,怎么优雅地处理这个“历史遗留问题”,既不掉面子,也不浪费开发时间。
先说个真事儿。上个月有个做传统机械的朋友找我,说他的官网在ie8下样式全乱,领导非让修。我一看后台数据,过去半年,ie8的访问量不到0.1%。我直接跟他说,这钱花了,除了给领导交差,对业务没半点帮助。最后他听劝,做了个简单的提示页,告诉用户“请升级浏览器”。结果呢?业务没降,反而因为页面加载快了,转化率还涨了点。
这就是现实。现在的主流浏览器,chrome、edge、safari,哪个不是秒开?ie8连基本的flex布局都不支持,css3更是想都别想。你为了一个几乎没人用的浏览器,去写一堆hack代码,维护起来能把你累死。
那具体该咋办?我有三个建议,全是干货,拿走不谢。
第一,别硬刚,用polyfill或者转译工具。如果你非要兼容,可以用babel把es6转成es5,用polyfill补全一些缺失的api。但这只是权宜之计,治标不治本。就像给一辆拖拉机装法拉利的引擎,跑不快,还容易散架。
第二,直接放弃,加个友好提示。这是最推荐的做法。在页面头部加一段js,检测浏览器版本。如果是ie8,直接弹窗或者跳转到一个简单的页面,告诉用户:“您的浏览器版本过低,为了获得更好的体验,请升级或更换浏览器。”附上chrome或edge的下载链接。这样既解决了问题,又显得你很专业,为用户着想。
第三,分层开发,核心功能优先。如果客户实在强势,必须兼容,那就把ie8当成一个独立的分支。只保证核心功能可用,样式能看就行。别追求完美,别搞花哨的动画。把精力放在主流浏览器上,那里才是你的潜在客户所在。
很多新人开发者容易陷入一个误区,觉得兼容ie8是技术实力的体现。错!大错特错。真正的技术实力,是能用最少的代码,实现最好的效果,同时保证用户体验。为了一个过时的标准,牺牲性能和可维护性,这是本末倒置。
再说深一点,ie8的市场份额早就跌到谷底了。除了某些老旧的政府内网、银行系统,或者一些上了年纪的领导习惯用ie,普通用户早就不用了。你花一周时间修ie8的bug,可能还不如花半天时间优化一下移动端体验,带来的流量多。
所以,面对“网站开发不兼容ie8”这个问题,我的态度很明确:能弃则弃,不能弃则降级处理。别被客户的“我觉得”带偏了,要用数据说话。拿出后台统计报表,给领导看看,ie8的用户到底有多少。如果少得可怜,那就大胆地说不。
最后,给大家提个醒。建站不是做慈善,没必要照顾每一个过时的需求。把资源投入到更有价值的地方,比如seo优化、内容质量、交互体验。这才是正道。
记住,技术是为业务服务的,不是为技术而技术。当你不再纠结于ie8,你会发现,世界清净了很多,代码也简洁了很多。
希望这篇文章能帮到你。如果你还在为兼容性问题头疼,不妨换个思路,也许你会发现,放手才是最好的选择。毕竟,时代在进步,浏览器也在进化,我们没必要逆流而上。
好了,今天就聊到这。如果有其他建站问题,欢迎留言交流。咱们下期见。