4

你知道在不同的浏览器中处理 HTML 标签/属性有什么不同吗?例如,我曾经看到一个页面,其输入标签的最大长度字段设置为“2o”。Firefox 和 Opera 忽略“o”,并将最大长度设置为 2,而 Internet Explorer 完全忽略该字段。你知道更多吗?

(注意:因为这可能是一个列表,所以如果差异的通用名称是粗体文本,那就太好了,例如:标签属性中的不同不稳定值处理

4

7 回答 7

8

错误列表

Web 开发人员已经编制了一些非常全面的列表;我认为编译资源列表比复制这些列表更好。

Javascript

我同意Craig的观点 - 最好使用处理浏览器之间差异的库(以及简化命名空间、AJAX 事件处理和上下文等)来编写 Javascript。这是克雷格答案的跳转(在此页面上)。

CSS 重置

CSS 重置可以真正简化 Web 开发。它们覆盖在浏览器之间略有不同的设置,为您提供更通用的起点。我喜欢 Yahoo 的YUI Reset CSS

于 2008-08-17T17:08:10.503 回答
6

查看http://www.quirksmode.org/

于 2008-08-17T12:04:27.247 回答
3

如果您使用 javascript 编程,我可以给出的最佳建议是使用 javascript 库而不是尝试自己编写。这些库经过了很好的测试,更有可能遇到了极端情况。

Scriptalicious - http://script.aculo.us/
jQuery - http://jquery.com/
Microsoft AJAX - http://www.asp.net/ajax/
Dojo - http://dojotoolkit.org/
原型 - http ://www.prototypejs.org/
YUI - http://developer.yahoo.com/yui/

于 2008-08-17T14:58:25.257 回答
1

你知道在不同浏览器中处理 HTML 标签/属性有什么不同吗?

这个问题是否要求提供所有差异的信息,包括 DOM 和 CSS?有点大的话题。我认为 OP 是专门询问 HTML 行为,而不是所有其他的东西......

于 2008-08-17T18:07:40.540 回答
0

真正让我烦恼的是 IE 损坏的 document.getElementById javascript 函数 - 在大多数浏览器中,这会给你一些具有你指定的 id 的东西,IE 很乐意给你一些在 name 属性中具有值的东西,即使有文档中稍后带有您要求的 ID 的内容。

于 2008-08-17T16:28:13.720 回答
0

HTML 模式下 XHTML 解析不一致

HTML 解析器不是为处理 XML 而设计的。

如果 XHTML 文档以“text/html”的形式提供,并且不遵循兼容性指南,您可能会得到意想不到的结果。

空标签是问题的一种可能来源。<tag/> 和 <tag></tag> 在 XML 中是等价的。然而,HTML 解析器可以用两种方式解释它们。

例如 Opera 和 IE 将 <br></br> 视为两个 <br> 而 Firefox 和 WebKit 将 <br></br> 视为一个 <br>。

于 2009-12-17T21:51:34.217 回答
0

我曾经看到一个页面,其输入标签的最大长度字段设置为“2o”。

在这种特定情况下,您正在谈论无效代码。maxlength 属性不能包含字母,只能包含数字。

正如您自己所见,浏览器对无效代码的处理方式差异很大。

如果你真的在问“所有不同的浏览器在面对由于无数原因中的任何一个而被破坏的 HTML 代码时会做什么?”,那是疯狂的。

通过使用有效代码,我们可以大大减少问题空间。

因此,请使用有效的 HTML。然后,您将面临两个主要问题领域:

  • 浏览器错误——浏览器如何遵循 HTML 标准以及它做错了什么
  • 浏览器默认值的差异,例如它给主体的填充/边距量
于 2009-04-23T01:53:45.193 回答