Invoker コマンド API

2026/03/08 17:16

Invoker コマンド API

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

概要:

<button>
要素は、JavaScript のリスナーを使わずに宣言的な属性で UI アクション(ポップオーバーの切り替え、モーダルダイアログの開閉、またはカスタム動作など)を実行できます。
commandfor
に対象要素の ID を設定し、
command
に希望するアクション(例:
toggle-popover
show-modal
、あるいは
--rotate-left
のようなカスタムコマンド)を指定すると、ボタンが操作されたときにブラウザが自動的にその対象で
CommandEvent
をディスパッチします。
HTMLButtonElement
は対応するプロパティを公開しています:
.commandForElement
commandfor
属性を反映し、
.command
command
属性の値と同じです。使用例としては、宣言的なポップオーバー切り替え(
<button commandfor="mypopover" command="toggle-popover">
)やダイアログ制御(
<button commandfor="mydialog" command="show-modal">
<button commandfor="mydialog" command="close">
)があります。カスタムコマンドは対象要素で
command
イベントをリッスンすることで処理できます(例:画像の回転)。
これらの機能は Web プラットフォーム仕様(
HTML#commandevent
HTML#dom-button-commandforelement
HTML#dom-button-command
)に定義されており、最新のブラウザでサポートされています。このアプローチはマークアップをクリーンにし、JavaScript のボイラープレートを削減し、デザイナーがインタラクティブな挙動を直接制御できるようにします。

この改訂版の概要はすべての主要ポイントを保持し、元テキスト以外の推測を避け、プロパティ名と仕様参照を明確化しています。

本文

コンセプトと使い方

ウェブ上でよく見られるパターンは、

<button>
要素がページのさまざまな機能(ポップオーバーや
<dialog>
の開閉、テキスト整形など)を制御することです。従来は、ボタンに JavaScript イベントリスナーを追加し、その中で対象要素の API を呼び出す必要がありました。
commandForElement
command
属性は、限定的な一連のアクションを宣言的に実行できるようにしたものです。組み込みコマンドの場合、JavaScript がロードされる前にボタンが操作可能になるため、利点があります。


HTML属性

属性説明
commandfor
<button>
をコマンド発火器に変え、指定された ID の要素を制御します。
command
commandfor
で特定した対象要素上で実行されるアクションを指定します。

インタフェース

  • CommandEvent
    – コマンドが発行されたことを通知するイベントオブジェクト。
    commandForElement
    が参照する要素上で発火します。

他のインタフェースへの拡張

インスタンスプロパティ

プロパティ説明
HTMLButtonElement.commandForElement
ボタンが制御する要素を取得/設定します(JavaScript で
commandfor
と同等)。
HTMLButtonElement.command
制御対象要素上で実行されるアクションを取得/設定し、
command
属性の値と同期します。

イベント

  • command
    イベント
    <button>
    が参照する要素上で発火します。

宣言的ポップオーバー

<button commandfor="mypopover" command="toggle-popover">
  Toggle the popover
</button>

<div id="mypopover" popover>
  <button commandfor="mypopover" command="hide-popover">Close</button>
  Popover content
</div>

宣言的ダイアログ

<button commandfor="mydialog" command="show-modal">Show modal dialog</button>

<dialog id="mydialog">
  <button commandfor="mydialog" command="close">Close</button>
  Dialog Content
</dialog>

カスタムコマンド

<button commandfor="my-img" command="--rotate-left">Rotate left</button>
<button commandfor="my-img" command="--rotate-right">Rotate right</button>

<img id="my-img" src="photo.jpg" alt="[add appropriate alt text here]" />
const myImg = document.getElementById("my-img");

myImg.addEventListener("command", (event) => {
  if (event.command === "--rotate-left") {
    myImg.style.rotate = "-90deg";
  } else if (event.command === "--rotate-right") {
    myImg.style.rotate = "90deg";
  }
});

スペック

  • HTML#commandevent
  • HTML#dom-button-commandforelement
  • HTML#dom-button-command

ブラウザ互換性

機能対応
api.CommandEvent
api.HTMLButtonElement.commandForElement
api.HTMLButtonElement.command

関連項目

  • command
    プロパティ
  • commandForElement
    プロパティ
  • CommandEvent
    インタフェース

同じ日のほかのニュース

一覧に戻る →

2026/03/10 23:50

トニー・ホーア氏が亡くなられました。

## Japanese Translation: **改訂要約** トニー・ホアー(Turing Award受賞者で現代コンピューティングを形作った先駆者)は、2026年3月5日に英国ケンブリッジで92歳で亡くなりました。1934年1月11日生まれの彼は、古典文学と哲学を学び、国防サービス中に共同軍事語学学校(Joint Services School for Linguists)でロシア語を訓練し、その間にソビエト計算機と協力しました。ホアーの最も有名な業績はクイックソート、ALGOLプログラミング言語への貢献、およびホア論理(Hoare logic)の基礎化であり、これらが世界的に称賛されました。有名な逸話として、Elliott Brothers Ltdの上司と6ペンスを賭けてクイックソートが速いかどうかを挑戦したエピソードがあります。彼は勝ち、報酬を受け取りました。マイクロソフト・ケンブリッジ在籍中には、午後に地元のアーツピクチャハウスシネマ(Arts Picturehouse)を訪れることが多かったと述べています。また、彼はホラー映画や『グッド・ウィル・ハンタリング』などで描かれる天才像は非現実的だと指摘し、本物の専門知識には何年もの努力が必要だと主張しました。ホアーは将来のコンピューティング制限は公衆の認識を超える可能性があると警告し、暗号技術や量子テクノロジーへの影響を示唆しました。そのユーモア、忍耐力、鋭い記憶力、そして謙虚さはアルゴリズム、プログラミング言語、ソフトウェア工学の実践、および広範な研究コミュニティに永続的な影響を残しました。

2026/03/11 7:33

U+237C ⍼ は方位角です。

## Japanese Translation: 記事は、あまり知られていない文字「⍼」を調査し、中世20年代のドイツ語フォントカタログに数例登場するものの、それ以前の記録には存在しないことを指摘しています。最も顕著な証拠は1950年のH. Berthold AG シンボルカタログで、⍼が明示的に「Azimut/Richtungswinkel」(方位角・方向角)とラベル付けされている点です。1949–1952 年の Zeichenprobe および Schriftprobe 系列のコピーにはすべてこの文字が含まれていますが、1909 年の Hauptprobe や 1900 年の Schriftproben のようなそれ以前のカタログでは言及されていません。全ページスキャンにより、これら中世20年代の資料での存在とその他の場所での欠如が確認されています。Mastodon ユーザーは、この形状がセクスタントを通過する光線に似ていると指摘し、航海関連の起源を示唆しています。この記事は、⍼ が水上用記号として意図されたものかどうか、およびフォント版でどのように進化したかをさらに研究すべきだと結論付けています。この明確化は、タイポグラフィー史家、歴史的字体を参照するデザイナー、および遺産文書を扱う航海関連業界に有益となるでしょう。

2026/03/11 7:27

クラウドフレア クローラ エンドポイント

## Japanese Translation: **サマリー** Cloudflare の Browser Rendering サービスは、オープンベータ版の `/crawl` エンドポイントを公開しました。これにより、単一の API コールでウェブサイト全体をクロールできます。 - **仕組み:** POST リクエストで開始 URL と任意の設定(depth、page limits、ワイルドカードパターン、`render: false` 等)を送信します。サービスは sitemap やリンクから自動的にページを発見し、ヘッドレスブラウザでレンダリング(または `render: false` の場合は静的 HTML を取得)して結果を非同期で返します。 - **非同期ワークフロー:** ジョブ ID が返され、その後 GET エンドポイントをポーリングして処理済みページを raw HTML、Markdown、または構造化 JSON として取得できます。 - **主な機能:** - 複数の出力形式(HTML、Markdown、JSON) - depth とワイルドカードベースのスコープ制御 - `modifiedSince`/`maxAge` による増分クロール - `robots.txt` の crawl‑delay ディレクティブへの対応 - Workers Free および Paid プランの両方で利用可能 - **インパクト:** 開発者はプログラム的にサイトコンテンツを取得でき、分析チームは構造化ページデータを収集し、SEO ツールは効率的にサイトをインデックスできます。さらに、従来のクローラに代わる低コストなオルタナティブとして、ウェブクロールエコシステム全体にも貢献します。 このバージョンでは、Key Points List の主要ポイントすべてを保持しつつ、メインメッセージを明確かつ曖昧さのない表現にしています。

Invoker コマンド API | そっか~ニュース