gpt4 book ai didi

javascript - HTML5 命名空间元素的任何问题(IE 的无 js 解决方案)

转载 作者:行者123 更新时间:2023-11-30 13:36:50 25 4
gpt4 key购买 nike

我最近遇到了 this article 解释了如何在没有 javascript 的情况下在 IE 中使用 HTML5 标签。基本上,您在全局范围内创建一个 namespace 并将其包含在每个 HTML5 标记中。这样 IE 就可以识别它,您可以用 CSS 定位它。这与用于设置 XML 文档样式的方法相同,因此如果您有这方面的经验,请发表评论!

总之,它看起来可能是一个好主意和一个不错的选择(我很高兴输出 XHTML)并且想知道是否有人对此有任何经验和/或意见。

到目前为止我的假设:

  1. 标签只能被浏览器识别——它们不会继承新的大纲模型
  2. 这个命名空间在所有浏览器中都是一样的——它不特定于 IE

我目前看到的缺点是,如果网站不再支持不原生支持 HTML5 的浏览器,那么删除元素上的命名空间可能会很麻烦。不过,我认为这在相当长一段时间内不太可能成为问题 :)

请告诉我大家的想法。如果您知道这种做法的任何示例,我可以去看看,那就更好了。

谢谢!

最佳答案

这似乎毫无意义。创建的元素不是 HTML5 元素,因为作为 text/html 的 HTML5 不支持命名空间。

所以 html5:section 不是命名空间中映射到“html5”前缀的名为“section”的元素——它只是一个名为“html5:section”的元素。这将在 http://www.w3.org/1999/xhtml 中命名空间,因为这是所有无法识别的元素所在的位置。

现在,仅适用于 IE 很长一段时间以来一直采用文章中描述的非标准化伪命名空间机制。它确实创建了一个名为“section”的元素,并设置了一些属性来记录伪命名空间。 IE 的解析器确实将其视为一个元素,因此可以对其进行样式设置、包含其他元素等。

但是,这意味着您现在的标记在 IE 中做一件事,在 HTML5 兼容浏览器中做另一件事,两者都不会生成 HTML5 元素你想要的。

关于javascript - HTML5 命名空间元素的任何问题(IE 的无 js 解决方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4508184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com