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 属性的一个例子是innerHTMLElement。当您为此属性设置值时,它会在解析提供的值后触发 DOM 的更改。它与内容属性非常不同。 【参考方案1】:

IDL (Interface Definition Language) 来自 Web IDL 规范:

本文档定义了一种接口定义语言 Web IDL,它 可用于描述打算实现的接口 在网络浏览器中。 Web IDL 是一种 IDL 变体,具有许多特性 允许 Web 平台中常见脚本对象的行为 更容易指定。如何使用 Web IDL 描述接口 对应于 ECMAScript 执行环境中的构造是 本文档中也有详细说明。

内容属性是出现在标记中的属性:

<div id="mydiv" class="example"></div>

在上面的代码中idclass是属性。通常一个内容属性会有一个对应的 IDL 属性。

例如,以下 javascript

document.getElementById('mydiv').className = 'example'

相当于设置class内容属性。

在 JavaScript 文本中,IDL 属性通常被称为属性,因为它们作为 DOM 对象的属性暴露给 JavaScript。

虽然通常有一对对应的内容属性和 IDL 属性/属性,但它们不一定可以互换。例如,对于 &lt;option&gt; 元素:

content属性selected表示选项的初始状态(当用户改变选项时不会改变), 属性selected反映了当前控件的状态

【讨论】:

感谢您提供指向 Web IDL 的链接。这应该是“可读”版本! 那么例如onclick 和其他?我在 Mozillas 邮件列表的某处读到这些是 IDL 属性,但它们也出现在标记中......他们将内容属性描述为影响渲染过程的属性。 selected content 属性值作为&lt;option&gt;defaultSelected IDL 属性/属性既可读又可写。 那么非标准的自定义属性呢。例如 &lt;div roka="42"&gt; 和 javascript 中的 myDiv.roka 不同的值。为什么?这种情况的标准是什么?

以上是关于WHATWG html5 标准文档中的 idl 属性是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

html5

HTML5简介

移动端Html5前端性能优化

H5的简介

HTML5(第一篇)

HTML5基础入门教程