Chrome 拡張機能の変更内容

拡張機能チームより、新年のお祝いメッセージをお届けします。年末は、ゆっくりと過ごされたでしょうか。2023 年 10 月の投稿で発表した新機能のいくつかを試されたでしょうか。また、これまでお寄せいただいたフィードバックと、拡張機能コミュニティへのご参加に感謝いたします。

2023 年第 4 四半期にリリースされた機能と、2024 年初頭にリリースされる新機能について詳しく見ていきましょう。

User Scripts API

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

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

Reading List API

Chrome 120 でリリースされた Reading List API を使用すると、デベロッパーはリーディング リストのサイドパネルにあるメタデータを作成、読み取り、更新、削除できます。Reading List API のデモを確認する。

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

宣言型ネット リクエスト API のセーフルール

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

その他の API のリリース

Cookies 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 とシームレスに機能するように最適化されています。これには、メッセージの受信時にサービス ワーカーを有効にする機能も含まれます。Push API のサンプルをお試しください。

クロスブラウザの互換性の強化

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

今後の機能

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

ドキュメントの更新情報

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

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

  • ナビゲーションを合理化し、構造を改善して、拡張機能と Chrome ウェブストアの記事を簡単にアクセスできるようにしました。
  • トピックにすばやくアクセスするためのサイドバー フィルタを追加しました。たとえば、[Reference API] ページで「タブ」でフィルタすると、タブ関連のすべての 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 顕微鏡など)に接続する方法を学びます。
  • 拡張機能をマニフェスト バージョン 3 に移行すると、拡張機能は外部サーバーからの JavaScript コードを使用できなくなります。リモートでホストされるコードのガイドで、リモートコードの代替方法を確認してください。これにより、Chrome ウェブストアで拡張機能が Blue Argon として拒否されるのを防ぐことができます。

拡張機能デベロッパー コミュニティにご貢献いただき、改めて感謝申し上げます。2024 年には、拡張機能のエコシステムの形成と強化に、皆様からの分析情報とフィードバックが不可欠となります。来年も皆様のご支援を賜り、さらに進歩できるよう努めてまいります。