Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
浏览器之间的HTML差异_Html_Browser - Fatal编程技术网

浏览器之间的HTML差异

浏览器之间的HTML差异,html,browser,Html,Browser,您知道在不同浏览器中处理HTML标记/属性有什么不同吗?例如,我曾经看到一个页面,其中输入标记的maxlength字段设置为“2o”。Firefox和Opera忽略“o”,并将最大长度设置为2,而Internet Explorer完全忽略该字段。你知道还有什么吗 (注意:考虑到这可能是一个列表,如果差异的一般名称是粗体文本,如:标记属性中的不同不稳定值处理,那就太好了。)如果您正在使用javascript编程,我能给出的最好建议是使用javascript库,而不是尝试使用自己的javascrip

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


(注意:考虑到这可能是一个列表,如果差异的一般名称是粗体文本,如:标记属性中的不同不稳定值处理,那就太好了。)

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

脚本式-
jQuery-
Microsoft AJAX-
道场-
原型-

YUI-

真正让我恼火的是IE的破文档.getElementById javascript函数-在大多数浏览器中,这将为您提供具有指定id的内容,IE很乐意为您提供具有name属性值的内容,即使文档后面有您要求的id。

错误列表

网络开发者已经编制了一些相当全面的列表;我认为编辑一个资源列表比复制那些列表要好

  • (如所述)
Javascript

我同意-最好使用处理浏览器之间差异的库(以及简化名称空间、AJAX事件处理和上下文)编写Javascript。以下是Craig的答案(在本页)

CSS重置

CSS重置确实可以简化web开发。它们会覆盖浏览器之间略有不同的设置,从而为您提供一个更通用的起点。我喜欢雅虎的

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

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

我曾经看到一个带有输入标签的页面 将maxlength字段设置为“2o”

在本例中,您所说的是无效代码。maxlength属性不能包含字母,只能包含数字

浏览器对无效代码的处理方式差异很大,这一点您可以自己看到

如果你真的想问“当面对HTML代码时,所有不同的浏览器都会做些什么,因为无数的原因中的任何一个被破坏了?”,那么这种方式就是疯狂

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

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

  • 浏览器错误——浏览器如何遵循HTML标准以及它的错误
  • 浏览器默认设置的差异,如为主体提供的填充/边距量

在HTML模式下对XHTML的解析不一致

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

如果一个XHTML文档被用作“text/html”,并且没有遵循它,那么您可能会得到意想不到的结果

空标记是问题的一个可能来源。在XML中是等价的。但是HTML解析器可以用两种方式解释它们

例如Opera和IE将

视为两个
而Firefox和WebKit将

视为一个

的“跳转到Craig的答案”URL指向“beta.stackoverflow.com”而不是“stackoverflow.com”。结果是我的浏览器(Safari 4)试图转到“beta.stackoverflow.com”,但随后被重定向到“stackoverflow.com”“并丢失散列…但是,我不确定URL是否有必要,首先您应该能够编写散列:“”。