在HTML5中实现自定义标记名称空间
Custom tag namespace implementation in HTML5
对于我正在构建的音频播放器,我希望有一个类似于Google和Facebook用于其共享小部件的标记。例如,它可以是:
<fp:player data-type="mp3" data-href="/path/to/file.mp3" />
实现这个自定义标签的最好方法是什么,并使它在尽可能多的浏览器中有效?
上述链接的规范还声明,
如果我对规范的理解正确的话,Quentin发布的引用是指用户代理扩展。(我假设他们指的是特殊的浏览器和浏览器插件)用户代理不应该创建新的标签或属性。Web开发人员可以使用他们喜欢的任何组成的标记和属性。该规范明确指示用户代理开发人员考虑未知的标签和属性,并将它们包含在DOM和呈现页面时。用户代理必须处理它们不处理的元素和属性理解为语义中立的;将它们留在DOM中(用于DOM)处理器),并根据CSS样式化它们(对于CSS处理器),但不能从中推断出任何意义。
用脚本访问它们就变得有点棘手了。IE的7和8为您添加一个名称空间来查找那些自定义标签,这使得您的文档在技术上无效——但仍然功能齐全!
请看这里(我的博客):http://blog.svidgen.com/2012/10/building-custom-xhtml5-tags.html
来自HTML规范:
对于打算与HTML语法一起使用的标记级特性,扩展应该限制为"x-vendor-feature"形式的新属性,其中vendor是标识负责扩展的供应商的短字符串,feature是特性的名称。不应该创建新的元素名
所以你不能创建它并符合规范,Facebook和谷歌非常非常淘气。
你似乎在试图重新发明<audio>
元素。所以只要使用它,扩展语言的问题就解决了。
观察html5shim或html5shiv如何创建新元素:https://github.com/aFarkas/html5shiv/blob/master/src/html5shiv.js
基本上你只需要document.createElement()元素,然后你就可以使用它了
相关文章:
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- jQuery自定义验证比较多个输入的序列
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 在wordpress一定时间后更改自定义字段
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- 自定义函数中的光标位置
- 用于检查数组中是否存在元素的javascript自定义方法
- 用自定义javascript全局命名空间替换窗口
- 在命名空间中创建自定义事件
- 为什么使用自定义标记创建元素会在 IE9 或 10 的 outerHTML 中添加 xml 命名空间,直到调用 .fin
- 聚合物,访问自定义元素/命名空间问题
- 浏览器自定义命名空间元素处理器
- 如何在qooxdoo中设置自定义共享命名空间并在我的项目中使用
- 如何在HTML5中读取内联SVG中的自定义名称空间节点
- 在HTML5中实现自定义标记名称空间
- Javascript在自定义命名空间中运行
- 如何在JavaScript中将lodash直接导入到自定义命名空间中
- xhtml中指定命名空间的自定义标记
- IE6 -自定义标签没有名称空间