2024-09-30 14:16:26 发布
网友
我的应用程序的前端是设计用来处理非常旧的浏览器的。我想升级到bootstrap3和jquery2,但我不想停止支持旧的浏览器。如何根据用户的浏览器提供旧版本或新版本?我应该这样做吗?我基本上需要每个脚本、模板和视图的两个版本吗
我建议您推迟对传统浏览器的支持,并针对前向引擎进行开发。原因是你可能要花3周的时间来添加对IE版本的支持,而这个版本几个月后就会被否决。这是额外的努力
您应该能够针对相同的依赖项、不同的版本运行构建工具
如果您使用npm,那么您可以简单地分发两个不同的package.json文件edge.json、legacy.json,然后使用symlink、安装依赖项并分别构建适当的静态资产
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
Vary: User-Agent
看看requirejs。使用requirejs,您应该能够编写一些逻辑,根据浏览器的不同,为不同版本的文件提供服务
我建议您推迟对传统浏览器的支持,并针对前向引擎进行开发。原因是你可能要花3周的时间来添加对IE版本的支持,而这个版本几个月后就会被否决。这是额外的努力
您应该能够针对相同的依赖项、不同的版本运行构建工具
如果您使用
npm
,那么您可以简单地分发两个不同的package.json
文件edge.json
、legacy.json
,然后使用symlink、安装依赖项并分别构建适当的静态资产肮脏的例子:
现在,在Flask中,您必须嗅探用户代理,确定它是边缘浏览器还是传统浏览器,然后返回一个HTML文档,该文档将引用相应根目录中的资产。然后应该在响应头中设置
Vary: User-Agent
看看requirejs。使用requirejs,您应该能够编写一些逻辑,根据浏览器的不同,为不同版本的文件提供服务
相关问题 更多 >
编程相关推荐