Chrome 拡張機能の変更内容

拡張機能チームから、明けましておめでとうございます。のんびり過ごしたり、2023 年 10 月のブログ投稿で発表した新機能を試したりと、有意義な一年をお過ごしいただけたことと存じます。また、すべてのフィードバックと拡張機能コミュニティにご参加いただいたことに感謝の意を表します。

2023 年第 4 四半期にリリースされた機能の詳細と、2024 年初頭にリリースされる新機能をいち早くご紹介します。

ユーザー スクリプト API

Chrome 120 以降では、Manifest V3 拡張機能で User Scripts API を使用して、ユーザー スクリプトのコレクションを管理し、ウェブページにスクリプトを挿入するタイミングと方法を決定できます。まずは User Scripts API サンプルをご覧ください。

ユーザー スクリプト API のデモのスクリーンショット

Reading List API

また、Chrome 120 でリリースされた Reading List API を使用すると、リーディング リストのサイドパネルでメタデータを作成、読み取り、更新、削除できます。Reading List API のデモをご覧ください。

リーディング リスト API のデモのスクリーンショット

宣言型 Net Request API の安全なルール

皆様からのフィードバックに基づき、有効な静的ルールセットの上限を 10 から 50 に大幅に引き上げました。さらに、許可される静的ルールセットの合計数を 50 から 100 に倍増しました。詳しくは、Manifest V3 のコンテンツ フィルタリングの改善をご覧ください。

その他の API のリリース

Cookie API

Chrome 119 では、Cookies API が更新され、パーティショニングがサポートされるようになりました。partitionKey 属性を指定して、オペレーションを実行するパーティションを指定できるようになりました。

File Handling API

ChromeOS 120 で File Handling API を使用できるようになりました。ウェブ プラットフォームのファイル処理と同様に、拡張機能を使用して、指定された MIME タイプとファイル拡張子のファイルを開くことができます。

Push API

Chrome 121 以降、拡張機能で Push API を使用して、通知を表示せずにサーバーからメッセージを受信できます。つまり、WebSocket はもはやサーバーと拡張機能の通信のための唯一の方法ではないということです。Push API は、拡張機能 Service Worker とシームレスに連携するように最適化されています。これには、メッセージの受信時に Service Worker をアクティブにする機能も含まれます。Push API サンプルを試す。

ブラウザ間の互換性の強化

Google は、引き続き他のブラウザ ベンダーと協力して、ブラウザ間の互換性を強化します。Chrome 121 以降の WECG でのフィードバックに対応するため、MV3 拡張機能のマニフェストに background.scripts、background.page、background.persistent を追加すると、エラーではなく警告のみがトリガーされます(問題 1418934 を参照)。また、拡張機能の Firefox との互換性を高めるため、tabs.Tab.lastAccessed プロパティも追加されました(問題 1419613 を参照)。

近日提供予定の機能...

  • WebAuthn API: 拡張機能で、ホスト権限のあるウェブサイトの RP ID をアサートできるようになります。詳しくは、こちらのメールをご覧ください。
  • 関数のシグネチャが Promise と互換性がない(chrome.desktopCapture.chooseDesktopMedia() など)場合を除き、すべての非同期 Chrome API メソッドで Promise がサポートされ、さらに使いやすくなります。下位互換性を維持するため、コールバックは引き続き機能します。

ドキュメントの更新情報

昨年の大きな目標は、Chrome 拡張機能のドキュメントを改善することでした。これには、スタートガイドやハウツーガイドの追加、新しい MV3 移行ガイドの公開などが含まれます。Google は昨年末、次の大きな一歩を踏み出しました。ユーザーのニーズにより的確に応えるために、データの整理を開始しました。

新機能の概要は次のとおりです。

  • 効率化されたナビゲーションと改善された構造により、拡張機能や Chrome ウェブストアの記事に簡単にアクセスできます。
  • トピックにすばやくアクセスするためのサイドバー フィルタを追加しました。たとえば、[リファレンス API] ページでは、「tab」でフィルタしてタブ関連のすべての API を表示できます。
名前による API リファレンスのフィルタリング
名前による API リファレンスのフィルタリング
  • 拡張機能のデベロッパー向けに、より親しみやすい学習プロセスを提供します。
スタートガイド ページ
スタートガイド ページ
  • ワンクリックでのコード スニペットのコピー。
コードをコピーしています
コードのコピー
  • ダークモードのサポート。暗い場所での視聴環境が向上します。
ドキュメントのダークモードの切り替え
ダークモードの切り替えに関するドキュメント
  • よく使用されるリファレンス ページをすばやく見つけられるように、コレクションを追加しました。
開かれたコレクションのプルダウン
開かれたコレクションのプルダウン

これは、ドキュメントを改善するための第一歩です。今後、新しいリファレンス コンテンツ、概念に関する記事、チュートリアルを追加し、古いコンテンツを更新していく予定です。ご意見をお寄せください。今後のサービス向上に役立てさせていただきます。

今後のガイド

  • User Scripts API のチュートリアル。
  • 新しいリアルタイム更新のガイダンスでは、サーバーサイド イベントからの通知を処理するさまざまな方法について説明しています。
  • 方法」セクションに内容を追加しました。

新しい動画: Simeon とともにプラットフォームの進化を追う

Web Extensions Community Group(WECG)の共同議長である Simeon Vincent 氏が、Google の DevRel チームと一緒にウェブ拡張機能の複雑さと将来について話し合いました。

会話の中心は以下の通りです。

  • ブラウザ間で拡張機能の動作を標準化する。
  • Manifest V3 への移行における開発課題への取り組み。
  • 拡張機能が AI を拡張機能にどのように統合しているか。

その他の更新

  • 拡張機能で WebHID API を使用して、キーボードなどの標準デバイスや、ゲーミング グローブや視線追跡デバイスなどの独自のデバイスに接続する方法について説明します。
  • 拡張機能で WebUSB API を使用して、フラッシュ ドライブ、バーコード スキャナ、ロボット コントローラ、USB 顕微鏡などの USB デバイスに接続する方法を学習します。
  • 拡張機能を Manifest バージョン 3 に移行すると、拡張機能は外部サーバーの JavaScript コードを使用できません。リモートでホストされるコードガイドで、Chrome ウェブストアで拡張機能が Blue Argon で不承認となるのを防ぐためのリモートコードのガイダンスをご確認ください。

拡張機能のデベロッパー コミュニティへのご協力に改めて感謝いたします。2024 年、拡張機能のエコシステムを形作って強化していくうえで、皆様の分析情報とフィードバックが重要となります。来年もどうぞよろしくお願いいたします。