我的应用程序的前端设计用于非常旧的浏览器。我想升级到Bootstrap 3和JQuery 2,但我不想停止支持旧的浏览器。如何根据用户的浏览器为旧版本或新版本提供服务?我应该这样做吗?我基本上需要每个脚本,模板和视图的2个版本吗?根据用户的浏览器版本提供不同版本的文件
0
A
回答
0
看看requirejs。使用requirejs,你应该能够编写一些逻辑服务于不同版本的文件,具体取决于浏览器
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
现在,在瓶,你必须找出用户代理,解决无论是边缘还是旧版浏览器,然后返回一个HTML文件,该文件将引用资产从适当的根。您应该在您的响应标题中设置Vary: User-Agent
。
相关问题
- 1. 根据浏览器加载不同版本的jquery
- 2. 在HtmlUnitDriver中提供浏览器版本的用处是什么
- 3. 浏览器的JavaScript版本
- 4. 用户代理浏览器版本
- 5. 根据IE版本加载不同的脚本版本
- 6. 如何根据浏览器版本给出条件cellpadding值?
- 7. 浏览器版本检测
- 8. WPF WebBrowser浏览器版本
- 9. 浏览器版本jQuery中
- 10. Matlab浏览器版本
- 11. Flash版本跨浏览器
- 12. 基于浏览器版本
- 13. 浏览器版本测试
- 14. 未提供HTML文件的新版本
- 15. 相同的浏览器版本,2个不同的javascript处理
- 16. UserAgentUtils始终提供空浏览器版本
- 17. 如何根据浏览器版本捆绑特定的CSS?
- 18. 根据ruby版本捆绑开发宝石的不同版本
- 19. php版本显示不同的应用程序/浏览器
- 20. 跨不同操作系统的相同浏览器版本
- 21. PHP:根据浏览器提供不同的图像?
- 22. 如何安装不同版本的sqlite而不是提供的版本
- 23. TortoiseSVN版本库浏览器不工作
- 24. 如何根据Drupal中的Cookie提供不同的缓存版本的页面?
- 25. 不同版本的IE浏览器在Joomla上的问题
- 26. 根据ASP.NET中的IE版本选择不同的CSS文件
- 27. 为特定ie版本提供flash版本otherwse提供js版本
- 28. 在github的版本和本地文件版本之间的网页浏览量不同
- 29. 根据使用的插件使用不同版本的Python包
- 30. 浏览器缓存版本的Tampermonkey
最好的做法是:不要。要么支持支持旧版本的库,要么删除旧版本的支持。不要试图检测用户的浏览器,这种方式是疯狂的。 – davidism
这听起来像一个维修噩梦。您最终会维护两个(或更多)版本的应用。 – joews
一个评论;一般来说,强烈避免浏览器检测。但是,特征检测很好, [Modernizr.js](https://modernizr.com/)可能会有所帮助。 – JonathanHayward