不同的操作系统对显示网页有多大影响?

时间:2012-03-24 21:07:10

标签: javascript css windows linux operating-system

我在这个网站上看到很多用户在描述Web开发错误时都提供了操作系统规范,而且我已经看到一些操作系统在一个操作系统上运行而不是另一个操作系统。

在不同版本的Windows上,让IE6说出处理的内容是否存在实际差异?或者与ubuntu完全相同的firefox版本而不是mac?

这可能是一个菜鸟问题,但我真的很好奇。

3 个答案:

答案 0 :(得分:6)

网站中可能出现4种类型的跨操作系统错误(无意中;忽略了诸如Web开发人员嗅探用户代理并搞砸了无法识别的结果,或者使用只能在一个平台上工作的插件,例如作为Silverlight)。根据我个人的经验,从最常见到最不常见的顺序订购

  1. 有关字体和字距调整的假设 - 如果用户的操作系统与您自己的操作系统不匹配,并且您指定了系统所具有的字体,那么该文本将不会完全相同长度和可能的高度,即使指定特定的点大小(小写的'm'应该匹配,但所有其他字符可以不同,如大写的高度)。这可能会对固定大小的布局造成严重破坏,特别是对于预计只有一行长的标题。最近,这可以通过购买“webfont”(通常包括旧的IE和新的现代标准网络字体)并在CSS中使用它来托管用户下载的字体来减轻。这可以产生“闪存”,因为渲染一旦下载就切换到它,所以你肯定需要指定一个很长的缓存时间。
  2. 关于表单元素的假设 - 由于这些HTML元素是由操作系统直接创建的,而不是由浏览器创建的,即使对于相同的浏览器,它们看起来也不同,具有不同的大小和行为,在操作系统之间。样式化这些元素可以减少可变性,但是某些表单元素(如<input type="file">)无法设置样式。只需在布局中给它们一个大缓冲区。
  3. Buggy插件 - 即使插件存在于所有操作系统(如Flash)中,通常它们在Windows上效果最佳,然后Linux和Mac争夺第二位(通常更多努力)进入Mac端口,但在Linux上可能有Wiki指南,以使其更好地工作,并且发行版包装商可能会在为您自动安装插件时使用这些技巧)。我所知道的唯一解决方案是,如果你是一个Windows开发人员,你有一个像Ubuntu或Fedora这样的Linux发行版的VirtualBox图像来测试你的网站,看看当你添加所有的铃声时插件的性能有多差口哨,然后假设Mac的性能大致相同。
  4. HTML渲染器中的实际错误 - 这些可能会发生,随着浏览器开发速度的增加,平台之间的功能/错误奇偶校验差距正在扩大。通常,浏览器的“本机”操作系统表现最佳,其次是最后使用它的平台。我很少看到回归,所以一旦 在浏览器的所有操作系统上工作,它基本上就是这样。你必须做一些非常特别的事情才能遇到这个问题。

答案 1 :(得分:1)

10年前,这个答案肯定是响亮的。例如,Mac上的IE5是一个与Windows不同的代码库,并且渲染的东西有点不同。但是,对于现代浏览器,通常情况并非如此。

仍然存在一些细微差别。例如,Mac上的safari(不确定FF)使用mac风格的控件呈现,这些控件可能有不同的大小,边框,字体大小等。这可能会导致平台之间出现细微的渲染问题,但通常无需担心除非单个像素会弄乱您的设计。

字体是另一个问题,因为不同的系统上存在不同的字体,并且它们具有不同的指标。

Javascript渲染可能是浏览器之间的问题,但在不同的操作系统上通常不是相同的版本。

最新的时尚是硬件加速,它可能在操作系统之间有所不同,但通常只会导致渲染差异的速度。

答案 2 :(得分:0)

这一切都取决于浏览器制造商,但根据我的经验,他们非常接近相同的跨平台,除了一些UI的东西。 Ubuntu可能是他们最不关注的操作系统,而Firefox在Windows和Ubuntu上的工作方式完全相同。

就服务器运行的操作系统而言,Web开发是一个问题,在与文件系统交互时不是跨平台的,但这不是你的问题。