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

Javascript 不同的操作系统对显示网页的影响有多大?,javascript,css,windows,linux,operating-system,Javascript,Css,Windows,Linux,Operating System,我在这个网站上看到很多用户在描述web开发错误时提供了操作系统规范,我也看到了一些在一个操作系统上工作的实例,但在另一个操作系统上没有 IE6在不同版本的windows上处理的内容是否存在实际差异?或者在ubuntu上使用与mac完全相同的firefox版本 这可能是一个很难回答的问题,但我真的很好奇 这一切都取决于浏览器制造商,但根据我的经验,除了一些UI内容外,它们非常接近于同一个跨平台。Ubuntu可能是他们最不关注的操作系统,例如Firefox在Windows和Ubuntu上的工作原理完

我在这个网站上看到很多用户在描述web开发错误时提供了操作系统规范,我也看到了一些在一个操作系统上工作的实例,但在另一个操作系统上没有

IE6在不同版本的windows上处理的内容是否存在实际差异?或者在ubuntu上使用与mac完全相同的firefox版本


这可能是一个很难回答的问题,但我真的很好奇

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


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

10年前,这个答案应该是肯定的。例如,Mac上的IE5与Windows上的代码基础非常不同,并且呈现出了完全不同的东西。但是,在现代浏览器中,情况通常并非如此

还有一些细微的差别。例如,Mac上的safari(不确定FF)使用Mac风格的控件进行渲染,这些控件可以有不同的大小、边框、字体大小等。。这可能会在平台之间造成微妙的渲染问题,但通常不需要担心任何问题,除非单个像素会打乱您的设计

字体是另一个问题,因为不同的系统上存在不同的字体,它们具有不同的度量标准

Javascript呈现在浏览器之间可能是一个问题,但在不同的操作系统上通常不存在相同的版本


最新的流行趋势是硬件加速,这在操作系统之间可能有所不同,但通常只会导致渲染速度的差异

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

  • 关于字体和字距的假设——如果用户的操作系统与您的操作系统不匹配,并且您指定的字体与您的系统不匹配,则即使指定了特定的点大小,文本的长度和高度也不会完全相同(小写字母“m”应该匹配,但所有其他字符可以不同,如大写字母的高度)。这可能会对固定大小的布局造成严重破坏,尤其是预期只有一行长的标题。最近,可以通过购买“webfont”(通常包括旧IE和新的现代标准web字体)来缓解这一问题在CSS中使用它,托管字体供用户下载。这可能会产生一个“flash”,因为一旦下载,渲染就会切换到它,所以您肯定需要指定一个较长的缓存时间
  • 关于表单元素的假设——由于这些HTML元素是由操作系统直接创建的,而不是由浏览器创建的,因此即使对于同一浏览器,它们在操作系统之间也可能看起来不同,具有不同的大小和行为。设置这些元素的样式可以减少可变性,但一些表单元素(如
    )无法设置样式。只需在布局中给它们一个大的缓冲区即可
  • 有缺陷的插件——即使插件存在于所有操作系统中,比如Flash,通常它们在Windows上工作得最好,然后Linux和Mac将其排在第二位(通常会在Mac端口上投入更多的精力,但在Linux上可能会有Wiki指南来让它更好地工作,发行版打包程序在为您自动安装插件时可能会使用这些技巧)。我知道的唯一解决方案是,如果你是Windows开发人员,你可以在上面安装一个Linux发行版(如Ubuntu或Fedora)的VirtualBox映像来测试你的站点,看看当你添加所有的插件时插件的性能有多差,然后假设Mac的性能大致相同
  • HTML呈现程序中的实际错误——这些错误可能会发生,而且随着浏览器开发速度的加快,平台之间的功能/错误奇偶校验差距正在扩大。通常,“本机”浏览器的操作系统做得最好,其次是以后使用最多的平台。我很少看到倒退,所以一旦某个浏览器的操作系统在所有操作系统中运行,它基本上保持这种状态。你必须做一些真正特别的事才能遇到这种情况

  • 最近,有人问了一个类似的问题:。根据我自己的经验,不同操作系统的浏览器之间可能存在一些差异,但这些差异通常涉及非常具体的功能。更多动态内容(包括插件)增加了不兼容的可能性。但可能性仍然很小。从我的实践来看:一个IE版本的浏览器在不同版本的Windows上工作相同,我认为Ubuntu/Mac操作系统的规则是相同的。不同操作系统的不同系统错误可能会产生差异(当浏览器崩溃时)但Javascript/DOM/HTML层没有。我(几乎)从来没有遇到过仅限Ubuntu的浏览器错误。我看到的最新错误迹象指向Mac。我同意,我只是说,如果出现问题,很可能最终会出现在Ubuntu上,因为不幸的是,大多数软件制造商将Linux排在优先考虑的最后。