我已经阅读了HTML5 规范<command>
,发现关于这个元素的信息非常模糊。
我已经尝试过了,发现它在 Chrome(最新版本)中不起作用,并且在 Safari(甚至更旧的版本)上起作用,抱歉没有 FF(请不要开枪)-仅 Mac 测试。
我无法理解这个元素的用途,或者即使我正确使用它。
我提前感谢您对此的任何澄清!
我已经阅读了HTML5 规范<command>
,发现关于这个元素的信息非常模糊。
我已经尝试过了,发现它在 Chrome(最新版本)中不起作用,并且在 Safari(甚至更旧的版本)上起作用,抱歉没有 FF(请不要开枪)-仅 Mac 测试。
我无法理解这个元素的用途,或者即使我正确使用它。
我提前感谢您对此的任何澄清!
该<command>
元素是一种抽象,让您可以从多个菜单条目或按钮中引用相同的“命令”。AFAIK这个想法有点像
<command id="doThat" onclick="doThat()"></command>
<input type="button" command="doThat" value="click me to do that">
<menu command="doThat">This does that too</menu>
然后,如果你想指出用户不能在上下文中这样做,你可以这样做
document.getElementById('doThat').disabled=true;
并且按钮和菜单项都将被禁用。或者您可以为命令元素分配一个快捷键,菜单和按钮都会响应该快捷键。像这样的东西。
我不确定,但我认为 HTML5 的这一部分尚未完成,可能会在 HTML5 作为最终规范发布之前被删除?照原样,确实不清楚它打算如何工作。
顺便说一下,它适用于 Windows 的 Firefox 3.6.13。
命令元素旨在封装您可以执行的操作。它可以在菜单中呈现(因为菜单呈现您可以调用的项目)。
它在 UI 和命令之间提供了一个抽象层,以便您可以使多个 UI 元素引用同一个命令。这为您提供了在菜单中呈现一个命令元素的灵活性,该元素也可以通过页面中间的 URL 以及页面底部的按钮调用。禁用该命令会禁用该命令后面的操作的所有访问路径(url/button/menu)。
目前关于如何将其链接到多个元素的信息非常稀少(因为浏览器才刚刚开始实现它!)但这是它的意图之一。
目前,唯一记录在案的用法是提供一个语义上唯一的标签来指定(不使用<input>
or<button>
元素)它是 a command
within a <menu>
,从而允许浏览器“真正的”菜单呈现(当实现时)。
command
已被删除以支持menuitem
。更多信息:
用户代理将<a />
标签定义为交互的,但该元素仅设计用于制作超文本引用,没有任何点击的想法。
这种用户代理行为成为一种标准,这与<img />
标签的 longdesc 属性不同。
由于 HTML 旨在构建信息和内容,而不是进行交互,因此新版本的 HTML (5) 试图“缓解”这种不足,并引入<command />
标签以在 HTML 非信息内容上进行交互,作为“阅读更多”的锚点例子。
请注意,“命令可以显式地成为上下文菜单或工具栏的一部分”也应该说<command />
可以在另一个上下文中使用并且不需要<form />
标签而不是<input />
or <button />
。
感谢 Spontifixus 和 Daniel Kutik 纠正这个答案
lists.whatwg.org 链接失效 - 相关讨论可以在以下位置找到:
http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Dec/0264.html
主题“[whatwg] 和朋友”,发件人:Ian Hickson,日期:2012 年 12 月 29 日星期六 01:23:20 +0000 (UTC)