Подтвердить что ты не робот

Что такое тег HTML5 <command> и что такое поддержка браузера?

Я прочитал спецификацию HTML5 для <command> и нашел информацию об этом элементе очень неопределенной.

Я пробовал это и обнаружил, что он работает не в Chrome (последняя версия), и он работает, работая над Safari (даже более старыми), извините, нет FF (не стреляйте в меня, пожалуйста) - только тест Mac.

Я не могу понять, что такое использование этого элемента или даже если я правильно его использую.

Я благодарю вас за любые разъяснения по этому поводу!

4b9b3361

Ответ 1

Он работает на Firefox 3.6.13 от Windows, кстати.

Элемент команды предназначен для инкапсуляции того, что вы можете сделать. Он может отображаться в меню (поскольку в меню представлены элементы, которые вы можете вызвать).

Идея

Он обеспечивает уровень абстракции между пользовательским интерфейсом и командами, поэтому вы можете сделать несколько элементов пользовательского интерфейса ссылкой на одну и ту же команду. Это дает вам гибкость наличия одного элемента команды, отображаемого в меню, который также вызывается через URL-адрес посередине страницы, а также кнопку внизу страницы. Отключение команды отключает все пути доступа (url/button/menu) к действию позади команды.

Где мы находимся - от 26 января 2010 года

В настоящее время очень мало информации о том, как привязать его к нескольким элементам будет фактически работать (поскольку браузеры только начали его внедрять!), но это одна из его намерений.

В настоящий момент единственным документированным использованием является предоставление семантически уникального тега для указания (без использования элементов <input> или <button>), что это command внутри <menu>, тем самым позволяя "реальный" рендеринг меню браузером (когда он реализован).

Ответ 2

Элемент <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 будет выпущен в качестве окончательной спецификации? Как есть, действительно непонятно, как он должен работать.

Ответ 3

command был удален в пользу menuitem. Дополнительная информация:

  • http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038472.html
  • http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#the-menu-element

Ответ 4

Пользовательские агенты определяют тег <a /> как интерактивный, но этот элемент предназначен только для создания гипертекстовой ссылки без какой-либо идеи щелчка.

Это поведение пользовательского агента стало стандартом, что не совпадает с атрибутом longdesc тега <img />.

Поскольку HTML был разработан для структурирования информации и содержимого, а не для взаимодействия, новая версия HTML (5) пытается "смягчить" этот недостаток и вводит тег <command /> для взаимодействия с неинформативным содержимым HTML как HTML "читайте больше" якорей в примере.

Обратите внимание: "Команда может быть явно частью контекстного меню или панели инструментов", также следует сказать, что <command /> может использоваться в другом контексте и не требует тега <form /> вместо <input /> или <button />.

Спасибо Spontifixus и Daniel Kutik за исправление этого ответа