根据用户的浏览器版本提供不同版本的文件

2024-09-30 14:16:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我的应用程序的前端是设计用来处理非常旧的浏览器的。我想升级到bootstrap3和jquery2,但我不想停止支持旧的浏览器。如何根据用户的浏览器提供旧版本或新版本?我应该这样做吗?我基本上需要每个脚本、模板和视图的两个版本吗


Tags: 用户版本脚本视图模板应用程序浏览器bootstrap3
2条回答

我建议您推迟对传统浏览器的支持,并针对前向引擎进行开发。原因是你可能要花3周的时间来添加对IE版本的支持,而这个版本几个月后就会被否决。这是额外的努力

您应该能够针对相同的依赖项、不同的版本运行构建工具

如果您使用npm,那么您可以简单地分发两个不同的package.json文件edge.jsonlegacy.json,然后使用symlink、安装依赖项并分别构建适当的静态资产

肮脏的例子:

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

看看requirejs。使用requirejs,您应该能够编写一些逻辑,根据浏览器的不同,为不同版本的文件提供服务

相关问题 更多 >

    热门问题