WHATWG html5 标准文档中的 idl 属性是啥意思?
Posted
技术标签:
【中文标题】WHATWG html5 标准文档中的 idl 属性是啥意思?【英文标题】:What does idl attribute mean in the WHATWG html5 standard document?WHATWG html5 标准文档中的 idl 属性是什么意思? 【发布时间】:2012-09-03 12:14:50 【问题描述】:在阅读 WHATWG 的 html5 - A technical specification for Web developers 时,我看到许多参考资料,例如:
在 IDL 属性中反映内容属性
定义了一些 IDL 属性以反映特定内容 属性。这意味着在获取时,IDL 属性返回 内容属性的当前值,以及设置时的 IDL 属性将内容属性的值更改为给定的 价值。
和:
在符合标准的文档中,只有一个正文元素。这 document.body IDL 属性为脚本提供了轻松访问 文档的正文元素。
body 元素作为事件处理程序内容属性公开一个数字 Window 对象的事件处理程序。这也反映了他们的 事件处理程序 IDL 属性。
我(诚然是模糊的)理解来自 Windows 世界。我认为 .idl 文件用于映射 n 层分布式应用程序中的远程过程调用。我会假设内容属性是指 html 元素属性。
我可以看到的标准中没有任何地方可以解释术语“内容属性”和“IDL 属性”的这种用法。谁能解释这些术语的含义以及这两种属性之间的关系?
【问题讨论】:
IDL 属性的一个例子是innerHTML
的Element
。当您为此属性设置值时,它会在解析提供的值后触发 DOM 的更改。它与内容属性非常不同。
【参考方案1】:
IDL (Interface Definition Language) 来自 Web IDL 规范:
本文档定义了一种接口定义语言 Web IDL,它 可用于描述打算实现的接口 在网络浏览器中。 Web IDL 是一种 IDL 变体,具有许多特性 允许 Web 平台中常见脚本对象的行为 更容易指定。如何使用 Web IDL 描述接口 对应于 ECMAScript 执行环境中的构造是 本文档中也有详细说明。
内容属性是出现在标记中的属性:
<div id="mydiv" class="example"></div>
在上面的代码中id
和class
是属性。通常一个内容属性会有一个对应的 IDL 属性。
例如,以下 javascript:
document.getElementById('mydiv').className = 'example'
相当于设置class
内容属性。
在 JavaScript 文本中,IDL 属性通常被称为属性,因为它们作为 DOM 对象的属性暴露给 JavaScript。
虽然通常有一对对应的内容属性和 IDL 属性/属性,但它们不一定可以互换。例如,对于 <option>
元素:
selected
表示选项的初始状态(当用户改变选项时不会改变),
属性selected
反映了当前控件的状态
【讨论】:
感谢您提供指向 Web IDL 的链接。这应该是“可读”版本! 那么例如onclick 和其他?我在 Mozillas 邮件列表的某处读到这些是 IDL 属性,但它们也出现在标记中......他们将内容属性描述为影响渲染过程的属性。selected
content 属性值作为<option>
的defaultSelected
IDL 属性/属性既可读又可写。
那么非标准的自定义属性呢。例如 <div roka="42">
和 javascript 中的 myDiv.roka
不同的值。为什么?这种情况的标准是什么?以上是关于WHATWG html5 标准文档中的 idl 属性是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章