用于W3C标准的IE与编码的编码

时间:2009-07-13 16:36:42

标签: internet-explorer standards w3c

“我与其他高级开发人员之间的争论”系列的另一章:P

我的立场是,在进行网页开发时,首先要编写浏览器代码以遵守W3C网络标准,即使Internet Exploder拥有更大的市场份额(51%到79%之间取决于谁在做什么)跟踪)。我的理由是:

  • 标准已被锁定,所有浏览器开发人员都在为所有设定标准提供至少100%无错误支持。因此,应该围绕Firefox / Chrome / Safari编写和测试代码,这些代码比IE8更接近正确的标准支持,然后应该在IE中使用条件标记来解决它的错误。尤其如此,因为您可以使用条件标记来解决IE错误,但如果您尝试反向编写代码,则编写黑客攻击强制Firefox / Safari /等正确显示已编码的HTML / CSS会更加困难

  • 如果您为标准设计,因为所有浏览器都瞄准同一个地方,标准方面,这意味着您不会成为当时人群之一每次出现更接近Web标准的新浏览器版本时修复他们的应用程序,从而使您的一些初始攻击现在打破布局。

  • 为了支持更大的市场份额而打破了一些破碎的东西,然后为了较小的市场份额而“不破”,如果你有时间,似乎是一种粗心的接近工作的方式,并暗示你认为20%的市场份额是微不足道的,我认为这与事实相去甚远。

我的合作开发者辩称:

  • 不同的浏览器公司喜欢用他们自己的切线去做并且不关心标准,所以尝试编写标准是浪费时间。

  • 只要页面大致以可用的方式显示在这些浏览器中,编码以支持少数约20%的市场份额是不值得的。

  • 浏览器是浏览器,是浏览器。它只是一个用于渲染文本的视口,我不应该担心看起来完全正确的事情。

  • 无论如何,当他喜欢IE8时,必须在Firefox中进行开发是一件痛苦的事。

我是负责人,当然我可以说“这是它的方式”,但我讨厌只是一个纳粹并说“我的方式或高速公路”;我认为最好让其他人理解为什么我们以某种方式做某事以便我们在进行时达成一致,因此我们所遵循的惯例会受到关注,因为他们背后的理由受到赞赏而不是不情愿接着

我能否对这个论点有所了解?

11 个答案:

答案 0 :(得分:11)

开发W3C标准,并使其在IE中看起来很好。它们不是相互排斥的。

答案 1 :(得分:4)

了解您的受众:他们是否关心您的网站是否符合标准?可能不会,除非你为网络开发者狂热者写一个网站。他们更可能不关心甚至不知道W3C是什么。

您的受众群体是否更倾向于选择特定的浏览器?请记住,并非所有网站都能获得相同的浏览器。与一般网站相比,技术网站获得的IE点击次数较少。

实用:大多数网站都会从IE获得大部分点击量。具体来说,IE 6和7.忽略了现实,忽略了IE的怪癖。如果你没有花时间让它在IE 6和7中运行,你会得到许多用户抱怨你的网站如何工作.IE 6仍然是一个大浏览器,大多数以微软为中心的企业使用。

务实:符合标准的HTML并不是真正实用的,除了吸引狂热者。理想情况下,所有浏览器都实现该标准。但他们没有。实施一个没有人完全实现的标准是不现实的。

底线是实现一个适用于IE6及更高版本浏览器的网站。如果您必须优雅地使用旧版浏览器,请执行此操作。但不要忽视它们。它们存在,用户不会使用不起作用的网站。他们的企业通常要求不使用不同的浏览器,因此建议升级不是一种选择。

答案 2 :(得分:3)

我和下一个人一样喜欢标准,但说实话,这已成为宗教战争/鞭打男孩的事情。

我看到的主要问题是这个模式:

  • 浏览器公司'X'制作浏览器 容错和尝试 显示格式错误的页面。 他们也偏离了标准 无论是偶然还是试图创造自己的新标准。
  • 没有经验的Web Developer使用 浏览器'X'测试他们的设计为 他们一起去,允许故障 他们的标记未被发现。
  • 浏览器公司'X'现在被困在 要么破坏的位置 现有网站或维护已知 浏览器新版本中的缺陷。

不要参与这个循环。

答案 3 :(得分:2)

我不确定你正在讨论哪个版本的IE,但是digg blog post说明超过一半的IE6用户没有选择使用IE6。

对浏览器进行宗教争论不会改变这样一个事实,即许多用户可能无法控制他们如何查看您的网站。因此,它归结为一项商业决策,以及为那些可能落后于曲线的人提供成本与收益的好处。

答案 4 :(得分:1)

  

开发W3C标准,并使其在IE中看起来很好。它们不是相互排斥的。

有时他们是。如果是这样,开发W3C标准通常是理智的选择。当然,更大的问题是为多个版本的IE开发;将硬下限设置为7可能是一个好主意,但这取决于相关编辑。

通过建立根本破碎但有选择性地不间断的设计,除了让自己失败之外什么都不做。

答案 5 :(得分:1)

我对W3C没有任何爱,因为从那里出现的“标准”非常可怕,也是每个人以这种或那种方式呈现一切不同的原因。

IE支持conditional CSS statements,它允许您调整适用于大多数浏览器的IE CSS怪癖。

所以我认为最好的办法是编写看起来很好并且按预期工作的HTML(标准程序员),当你面临必须做一些丑陋的事情以使其在IE中运行时,然后使用条件CSS。


对我愤世嫉俗的W3C观点的澄清:大。球。的。泥。

答案 6 :(得分:1)

实际上,企业必须满足其用户。意识形态是不够的。制定标准,然后使其在IE中运行。评论代码并解释引入黑客的地方。如果你在谈论IE8,那就不是那么糟糕了。如果你需要支持IE7甚至6,那么你将有更多的工作。

答案 7 :(得分:1)

具有一定市场份额并且最接近ACID测试的浏览器的代码。解决其他浏览器问题,并确定哪些浏览器不用担心。

对我而言,这意味着:

firefox的代码,解决IE的问题,确保它在Chrome和Safari中以相同的方式运行并忽略其余部分。

答案 8 :(得分:1)

上面的论点中有一些有趣的断言。供应商不关心标准。通过遵守标准进行面向未来的应用。非IE代表约20%的市场份额。如果有一些经验证据支持或反对这些证据可能有所帮助。

在我看来最重要的是,你声称它是“你可以使用条件标签解决IE漏洞,但如果你试图反向编写代码,那么编写黑客攻击强制Firefox / Safari /等更难正确显示已编码的HTML / CSS。“这种缺乏对称性的说法对我来说是不直观的,但如果确实是非常强烈的论证。

就个人而言,如果有人真的说“大致正确”并且“完全不担心......”那么我会很难认真对待这些论点。

为什么在Firefox中/为Firefox开发会很痛苦?

答案 9 :(得分:0)

我总是指示我的团队使用Firefox进行设计(阅读'W3C标准'),然后才填写IE所关注的古怪空白。我更不同意你的观点,因为这非常有意义。

据称MS一直试图让IE更加顺从,但它们仍然是一个长镜头......而其他浏览器,如Firefox和Chrome,都有从MS的错误中学习的好处。由于很大一部分网络用户仍然使用IE 6,因此您总是需要添加特殊的条件检查来满足那些“缺失的链接”。

考虑到FireBug和Web Developer等令人敬畏的插件,我不知道为Firefox开发是多么痛苦。

答案 10 :(得分:-1)

他的论点有一个主要缺陷: 您定位的是哪个版本的IE?

一个网站在IE6中看起来很棒并且在IE7和8中非常糟糕。或者在IE6和7中看起来很棒,但在IE8的默认(更符合标准)渲染模式下非常糟糕。

IE6支持率正在下降; IE7的使用率一度超过IE6的使用量,IE8正在慢慢增长。

在网络上,设计一个8年历史的浏览器是一个错误。首先为较新的浏览器设计,然后添加旧浏览器所需的内容。