<!DOCTYPE html[]> 的奇怪 ui-grid 错误
Odd ui-grid bug with <!DOCTYPE html[]>
我遇到了似乎是 Angular 的 ui-grid 中的错误。我的 index.html 页面顶部有这个:
<!DOCTYPE HTML[]>
当我运行应用程序时,页面的网格滚动列headers:
现在,如果我删除括号,如下所示:
<!DOCTYPE HTML>
网格正确显示:
有人解决过这个问题吗?有修复吗?
注意:我可以删除括号并将其保留在那里,但我们的部署工具会在部署时修改 index.html 文件并添加括号,因为这显然是 well-formed HTML.
"Well-formed"是一个只有在XML才有意义的概念。粗略地说,这意味着每个元素都有一个显式的开始标记和一个显式的结束标记,并且它们位于正确的位置。与Doctype声明的内容无关
HTML 规范的最新版本说:
A DOCTYPE must consist of the following components, in this order:
- A string that is an ASCII case-insensitive match for the string "
- One or more space characters.
- A string that is an ASCII case-insensitive match for the string "html".
- Optionally, a DOCTYPE legacy string or an obsolete permitted DOCTYPE string (defined below).
- Zero or more space characters.
- A ">" (U+003E) character.
... 所以您的部署工具所做的更改既不 "well-formed" 也不正确。
以这种方式破坏 Doctype 会触发 Quirks Mode。这使得浏览器通过模拟 1990 年代后期的许多错误来向后兼容它们。
CSS 正在中断,因为它取决于那些不存在的错误。
你 可能 重写所有 CSS 所以它被设计成在 Quirks 模式下工作,但是修复部署工具所以它不会破坏 Doctype 会变得更好。
我遇到了似乎是 Angular 的 ui-grid 中的错误。我的 index.html 页面顶部有这个:
<!DOCTYPE HTML[]>
当我运行应用程序时,页面的网格滚动列headers:
现在,如果我删除括号,如下所示:
<!DOCTYPE HTML>
网格正确显示:
有人解决过这个问题吗?有修复吗?
注意:我可以删除括号并将其保留在那里,但我们的部署工具会在部署时修改 index.html 文件并添加括号,因为这显然是 well-formed HTML.
"Well-formed"是一个只有在XML才有意义的概念。粗略地说,这意味着每个元素都有一个显式的开始标记和一个显式的结束标记,并且它们位于正确的位置。与Doctype声明的内容无关
HTML 规范的最新版本说:
A DOCTYPE must consist of the following components, in this order:
- A string that is an ASCII case-insensitive match for the string "
- One or more space characters.
- A string that is an ASCII case-insensitive match for the string "html".
- Optionally, a DOCTYPE legacy string or an obsolete permitted DOCTYPE string (defined below).
- Zero or more space characters.
- A ">" (U+003E) character.
... 所以您的部署工具所做的更改既不 "well-formed" 也不正确。
以这种方式破坏 Doctype 会触发 Quirks Mode。这使得浏览器通过模拟 1990 年代后期的许多错误来向后兼容它们。
CSS 正在中断,因为它取决于那些不存在的错误。
你 可能 重写所有 CSS 所以它被设计成在 Quirks 模式下工作,但是修复部署工具所以它不会破坏 Doctype 会变得更好。