Chrome 97 の新機能

必知事項は次のとおりです。

  • WebTransport は、クライアントとサーバーの間でリアルタイム メッセージを送信するための新しいオプションです。
  • 機能検出を使用すると、ブラウザがサポートするスクリプトのタイプを確認できます。
  • 配列を最後から検索するのが少し簡単になります。
  • 他にもたくさんあります。

ハッピー ニューイヤーピート ルページです。Chrome 97 のデベロッパー向け新機能を 見ていきましょう

ウェブ トランスポート

Web Sockets または WebRTC Data Channel API を使用してサーバーとページの間でメッセージを送信している場合は、新しいオプションがあります。WebTransport は、低レイテンシの双方向のクライアント サーバー メッセージングを提供する新しい API です。

Web Transport API は WebSocket よりもレイテンシが低く、ピアツーピア メッセージング用に設計された RTC Data Channel API とは異なり、Web Transport API はクライアント サーバー メッセージング用に特別に設計されています。

ストリーム API を使用した信頼性の高いデータ送信と、データグラム API を使用した信頼性の低いデータ送信をサポートします。ウェブワーカーでサポートされています。また、Streams 準拠のインターフェースを公開するため、バックプレッシャーに関する最適化がサポートされています。

使用するには、HTTP/3 をサポートするサーバーが必要です。通常は、WebRTC サーバーを設定して維持するよりも簡単です。新しい WebTransport インスタンスを開き、接続が完了するまで待つと、データの送信を開始できます。

const url = 'https://example.com:4999/foo/bar';
const transport = new WebTransport(url);
await transport.ready;

const writer = transport.datagrams.writable.getWriter();
const data1 = new Uint8Array([65, 66, 67]);
writer.write(data1);

詳しくは、web.dev の記事 WebTransport のテストをご覧ください。

スクリプト タイプの機能検出

現在、nomodule 属性を使用して、ブラウザ内の JavaScript モジュールのサポートを検出できます。ただし、パイプラインには、インポート マップ、投機ルール、バンドル プリロードなど、いくつかの新しい機能の提案があります。ブラウザが何をサポートしているかを知る方法が必要です。

HTMLScriptElement.supports()」と入力します。これにより、使用できるスクリプトのタイプを判断し、ブラウザに最適なオプションを送信できます。

if (HTMLScriptElement.supports('importmap')) {
  // Use <script type="importmap" ...>
} else if (HTMLScriptElement.supports('module')) {
  // Use <script type="module" ...>
} else {
  // Use classic method...
}

新しい配列プロトタイプ

JavaScript が使いやすくなるのが気に入っています。ArrayTypedArrayfindLast()findLastIndex() の静的メソッドをサポートするようになりました。

これらの関数は実質的に find()findIndex() と同じですが、配列の先頭ではなく末尾から検索します。

たとえば、配列の最後の数値が 10 より大きい場合は、値が 10 より大きいかどうかを確認するテスト関数で findLast() を呼び出します。

const array1 = [5, 12, 8, 130, 44, 3, 6];

function greaterThanTen(val) {
  return val > 10;
}

const last = array1.findLast(greaterThanTen);
// 44

const lIdx = array1.findLastIndex(greaterThanTen);
// 4

UA 文字列で Chrome 100 をエミュレートする

あと数か月で Chrome 100(3 桁のバージョン番号)に到達します。 バージョン番号をチェックするコードや UA 文字列を解析するコードは、3 桁の数字を処理できるようにチェックする必要があります。

現在のバージョン番号を 100 に変更する #force-major-version-to-100 というフラグがあるため、すべてが想定どおりに動作することを確認します。

新しい #force-major-version-to-100 オプションがハイライト表示された Chrome フラグページ

など多数

他にもたくさんあります。

フォームのエントリ内の新しい行が Gecko や WebKit と同じ方法で正規化され、ブラウザ間の相互運用性が改善されました。

Client Hints の名前には接頭辞 sec-ch を付加して標準化しています。たとえば、dprsec-ch-dpr になります。これらのヒントの既存のバージョンは引き続きサポートされますが、最終的な非推奨と削除を計画する必要があります。

クローズされた <details> 要素が検索可能になり、リンクできるようになりました。これらの隠し要素は、「ページ内検索」、ScrollToTextFragment、要素フラグメント ナビゲーションを使用すると自動的に展開されます。

関連情報

ここでは、重要なハイライトの一部についてのみ説明します。Chrome 97 で追加される変更点については、以下のリンクをご覧ください。

登録

最新情報を入手するには、Chrome Developers YouTube チャンネル登録してください。新しい動画が公開されるたびに、メール通知が届きます。

Chrome 98 のリリースと同時に Chrome の最新情報をお伝えします