質問: ### はじめに とあるGoogle拡張機能のソースコードを解読しています そこで出てきた「chrome.extension.」という記述について質問があります ### わからないこと Background.jsとcontent scriptのデータのやり取りで処理が行われていました ``` chrome.extension.sendMessage chrome.extension.onMessage.addListener ``` しかし、実際にぐぐってみると出てくるのは ``` chrome.runtime. ``` chrome.extension.を使っている例がほとんどなく、この処理の実態が掴めません ### 知りたいこと ・chrome.extension. とはなんですか? ・「chrome.extension.」と「chrome.runtime.」の違いはなんですか?
回答: chrome.extensionは、chrome.runtimeで使われているようなメッセージを受け渡しするために作られたAPIです。 しかしながら、多くのメソッドがDeprecated、つまり古くなってしまいサポート対象外となっています。 chrome.extension - Google Chrome > > sendRequest > > chrome.extension.sendRequest(string extensionId, any request, function responseCallback) > > Deprecated since Chrome 33. Please use runtime.sendMessage. > > > 例えば、上のようなsendRequestはバージョン33でDeprecatedになっています。 代わりにruntimeの方を使ってください、と書かれています。 つまり、メッセージAPIのみで言えばextensionは古い方、runtimeは新しい方です。