前端项目兼容IE8
背景
南天门(盘库)项目招标文档明确需求要支持ie8。
现状
但是目前三大主流框架都不支持ie8
vue从最初就不支持ie8,最低支持ie9,因为vue的核心数据劫持使用了ES5的特性Object.definedProprty来实现,而特性的浏览器兼容最低是ie9,所以vue从根本是不支持ie8。
官方也从2016年开始宣布不支持ie8,官方的建议是采用低版本0.14来支持ie8,但我们并不确定哪些特性与功能是可用哪些是不可用的,需要花时间去验证,是否值得???
angularjs1.3已经抛弃了对ie8的支持
结论
主流框架都已不支持ie8,只能另寻他路(要么使用bootstrap之类原生的框架,要么使用一些小众框架)
以下是我找到的支持IE8的框架
https://github.com/RubyLouvre/anu 司徒正美(作者已去世)
一个迷你的类似react的框架,与React16非常兼容,兼容ie6-ie8
https://github.com/RubyLouvre/avalon 司徒正美(作者已去世,目前没人维护)
MVVM框架,跟vue用了同样的数据劫持方式,不过对不支持Object.defineProperty的浏览器使用VBScript来实现相同的功能,所以支持ie8
https://baidu.github.io/san/tutorial/start/
San,是一个 MVVM 的组件框架。它体积小巧(< 17K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。
就像Vue一样,但它比Vue更轻,更容易使用。
提供两个大版本,如下:
- standard: 适合标准浏览器和 NodeJS
- legacy: 适合低端浏览器(IE6、IE7、IE8)