我的应用程序的前端旨在与非常旧的浏览器一起使用。我想升级到Bootstrap 3和JQuery 2,但我不想停止支持旧的浏览器。如何根据用户的浏览器提供旧版本或新版本?我应该这样做吗?我基本上需要每个脚本,模板和视图的两个版本吗?
答案 0 :(得分:0)
看看requirejs。使用requirejs,您应该能够编写一些逻辑,根据浏览器提供不同版本的文件
答案 1 :(得分:0)
我建议您推迟对旧版浏览器的支持,并针对前向引擎进行开发。原因是您可能需要花费3周的时间来添加对几个月后将被弃用的IE版本的支持。还有额外的努力!
您应该能够针对具有不同版本的相同依赖项运行构建工具。
如果你使用npm
,那么你可以简单地分发两个不同的package.json
文件,edge.json
,legacy.json
,然后是符号链接,安装依赖项并分别构建适当的静态资源
肮脏的例子:
git clone --reference app edge
git clone --reference app legacy
ln -s edge/edge.json edge/package.json
ln -s legacy/legacy.json legacy/package.json
现在,在Flask中,您必须嗅探用户代理,解析它是边缘浏览器还是旧版浏览器,然后返回一个HTML文档,该文档将引用相应根目录中的资产。然后,您应该在回复标题中设置Vary: User-Agent
。