在2008年HTML5就已经出现了,直到2014年才最终定案。HTML5是一套全新的网页标准,能让网页免插件播放视频、音频本地存储,甚至能离线运行。这些优点让HTML5天生就是为移动端设计的,也因此顺理成章地取代了Flash,甚至开始挑战APP。然而,浏览器的支持程度不一,所以网页打开失败的问题往往出在浏览器本身,而不是代码有问题。如果遇到H5打不开的情况,先别急着怪代码,看看是不是浏览器的问题。 在01年的时候,“围住神经猫”到“维密秀”这些H5活动把朋友圈刷爆了。可当自己辛辛苦苦做出来的作品在别人那里显示不出来时,那种挫败感确实很强烈。大家都觉得是代码有问题,其实很多时候是因为浏览器不支持最新标准。 比如Windows阵营里的IE9以下版本就直接不支持HTML5。IE10和11虽然勉强能跑起来,但特效经常会翻车。Edge基于Chromium内核之后就跟上了节奏。iOS阵营的Safari默认模式也对H5支持得比较一般,遇到复杂3D或者Canvas特效还是会闪退。安卓阵营中使用IE内核的浏览器容易白屏,而使用Chromium内核的浏览器则相对稳定。 这个时候用户和开发者通常会面临一个选择:让用户换浏览器还是适配旧版本?答案当然是让用户升级浏览器。因为语言在不断进化,浏览器也得跟着变。微软已经放弃IE转而推Spartan,苹果也在暗中升级Safari。 为了避免这种情况发生,开发者和运营人员可以做些准备工作。上线前先跑一下兼容性测试,用Can I Use这个工具检查核心属性是否支持老旧机型。给白屏留个退路吧,引入fallback方案——比如用HTML4加Flash作为备选方案。文案里也温柔提示一下用户:“建议升级Chrome或者Edge以获得最佳体验”。 总之别让好作品败给旧浏览器。H5不是什么洪水猛兽也不是玄学黑科技,它只是更轻、更快、更省钱的网页技术而已。当别人已经把朋友圈玩成游乐场的时候,你还在旧浏览器里对着白屏发呆的话,差距就在这一步了。下次遇到网页打不开别再摔手机了——先问问自己用户的浏览器该升级了吗?