GLE*_*LES 11 html javascript xhtml html5 svg
以下问题令我困惑.我知道他们有关系,但......
我已阅读本旧的链接,但我完全糊涂了......因为Mozilla的说:"动态修改联SVG,脚本需要做这种方式" -所以最后,我怎么能动态地修改联SVG(如HTML 5是不是名称空间感知)?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hello-SVG</title>
</head>
<body>
<svg width="200" height="200">
<rect x="0" y="0" width="100" height="100" fill="blue"></rect>
</svg>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
上面的代码是rect在HTML 5中呈现(使用SVG)的正确方法.现在,要使用JavaScript修改SVG,Mozilla建议使用此 API.我的问题是,如果HTML 5不支持名称空间,那么这样做的重点是什么?对于这种情况,浏览器会自动切换到(X)HTML 5吗?
我在SO上看了这篇评论,我发现它最接近我正在寻找的答案 -
我猜HTML 5 SVG的情况基本上是"没有命名空间的SVG在解析过程中会添加名称空间(但之后它就像(X)HTML之前的那样)".
Alo*_*hci 28
HTML5定义了HTML,XHTML和DOM.
DOM可识别名称空间.使用DOM方法时,必须考虑每个元素所在的命名空间,但默认值为HTML(http://www.w3.org/1999/xhtml)命名空间.
HTML和XHTML是通过解析转换为DOM的序列化.
XHTML是名称空间感知的,XHTML文档根据XML规则应用名称空间,因此必须明确地为每个元素分配所有名称空间.使用XML解析器将XHTML转换为DOM.
HTML也可识别名称空间,但隐式分配名称空间.使用HTML解析器将HTML转换为DOM,HTML解析器知道哪些元素位于哪个命名空间中.也就是说,它知道<div>进入http://www.w3.org/1999/xhtml名称空间并<svg>进入http://www.w3.org/2000/svg名称空间.类似的元素<script>可以进入http://www.w3.org/1999/xhtml或http://www.w3.org/2000/svg命名空间,具体取决于它们在HTML代码中出现的上下文.
HTML解析器知道HTML elements,SVG elements和MathML elements和没有其他人.没有选项可以使用其他命名空间中的元素,无论是隐式还是显式.也就是说,xmlns属性没有效果.
| 归档时间: |
|
| 查看次数: |
3187 次 |
| 最近记录: |