您或您的团队对新推出的浏览器的测试有什么建议?
作为完成定义的一部分,我们支持以下桌面浏览器:
- IE8+
- 火狐 3.6
- 火狐(最新)
- 铬(最新)
- 野生动物园 6
对最新版本的 Firefox/Chrome 的支持很好,因为它们都提供自动更新,所以如果有人对旧版本的浏览器有问题,我们无法控制,他们应该更新。
大多数 Firefox/Chrome 测试都可以在我们的机器上完成,但不同操作系统处理字体的方式显然存在差异,并且本机表单元素的一些怪癖可能会或可能不会延续到 Windows 上的版本。
要在 OS XI 上测试 Firefox 版本,请使用我创建的“安装所有 Firefox ”脚本,以允许我并排运行多个版本的 Firefox。
我们的开发团队使用 Ubuntu 和 Mac OS 作为他们的环境,因此我们有一个专用机器,每个版本的 IE 都有虚拟机,Windows 上的 Chrome/Firefox 和 OS X 上的 Safari 6。
这些虚拟机是使用modern.ie提供的图像设置的。我们在虚拟机开启的情况下远程访问机器,这样我们就不需要中断我们的工作流程并转到另一台机器。
你在开发过程中做了哪些事情来减少浏览器更新时出现代码中断的可能性?
显而易见的事情是避免 CSS hack,并确保编写的 HTML/CSS/JavaScript 符合我们的代码标准,以及我们对完成的定义。
如果我们使用实验性 CSS 功能,我们确保我们提供以供应商为前缀的属性,最后是 w3 属性定义:
-moz-foo: bar;
-ms-foo: bar;
-o-foo: bar;
-webkit-foo: bar;
foo: bar;
显然这会引入一些技术债务,但如果您为 CSS 使用预处理器,则可以减少其开销。
我们为 IE 保留一个单独的样式表并使用条件注释加载它,这样我们就可以修复 IE 中的问题,而不会影响其他浏览器前端其余部分的完整性。最近有一种运动将其转移到一个shame.css
虽然,你可以在这里阅读:http: //csswizardry.com/2013/04/shame-css/
您如何决定何时将或将放弃对浏览器版本的支持?
谷歌分析。在 Google Analytics 中按浏览器类型进行细分非常有用。当特定浏览器的使用率下降到 10% 以下时,是停止为其开发新功能的好时机。
您也可以做一些激进的事情,例如放弃该浏览器的所有黑客/样式,但为了更顺畅的过渡(并鼓励人们升级),最好停止为旧浏览器开发,并且可能有条件地显示一条消息.
我们最近放弃了对 IE7 的支持,现在使用 IE7 的访问者会收到一条消息,告诉他们升级,他们不会再获得任何修复或附加功能。
移动设备完全是另外一锅鱼,如果您的网站完全响应,那就是额外的痛苦。
我们有一堆不同尺寸/版本的 Android 设备、几部旧 iPhone 和一台 iPad,我们用它们来测试大多数移动浏览器。
显然,屏幕尺寸、DPI、浏览器版本等存在差异。在这方面您能做的最好的事情就是迎合最常见的情况,并在它们出现时解决任何问题。