Chrome Extensions Samples 第4回
Google の Chrome 拡張のサンプル集 (GitHub – GoogleChrome/chrome-extensions-samples: Chrome Extensions Samples) から、今日は sample.milestones を紹介します。
![](https://ichino-memo.com/wp-content/uploads/2023/08/cbd86e82e880765fec481291d7391ed3-1024x849.png)
読み込んで実行してみる
chrome 拡張のサンプル sample.milestones を実行します。読み込む方法や読み込みを確認する方法がわからない場合は以前の記事をご確認頂ければと思います。
sample.milestones の README を参照します。
![](https://ichino-memo.com/wp-content/uploads/2023/09/f00bd9d550eda8ff950dbf10a785372c.png)
実際に読み込んだサイトは少し変更して以下の URL としました。
https://chromium-review.googlesource.com/c/chromium/src/+/3635901
![](https://ichino-memo.com/wp-content/uploads/2023/09/1b0de8ef38c8ecbf3f2390b072184ddf-1024x721.png)
ソース確認 manifest.json
![](https://ichino-memo.com/wp-content/uploads/2023/09/187e897bb5e0a60dce4b45417c4bf164-1024x270.png)
今回の manifest.json は今までの記事で既出のものとなっております。
ソース確認 popup.html
![](https://ichino-memo.com/wp-content/uploads/2023/09/4b84ce72f313cdb6b8b7b5e230d63ddf.png)
popup.html はとてもシンプルで popup.js を起動しているだけのものでした。
ソース確認 popup.js
![](https://ichino-memo.com/wp-content/uploads/2023/09/samples.milestones_1.png)
chrome 拡張を起動することで active な tab が見つかったら getMilestone へ、その tab を渡します。
![](https://ichino-memo.com/wp-content/uploads/2023/09/samples.milestones_2.png)
17行目から31行目まで getMilestones の本体です。18行目から19行目までは div を準備しています。20行目から22行目までは chrome 拡張が読み込む URL を作成しています。 22行目は /c/chromium/src/+ と 連続した数字 を取り出すためのコードです。
https://chromium-review.googlesource.com/c/chromium/src/+/3635900
24行目 で match.length == 2 とあるのは、以下の二つの要素が match から返却されたことを確認しています。
https://chromium-review.googlesource.com/c/chromium/src/+/12345 12345
25行目からは getMilestoneForRevId を起動します。
![](https://ichino-memo.com/wp-content/uploads/2023/09/1c57e27f3dc716435ec73b78364e2089.png)
この関数は見た目はシンプルでマイルストーンを引数として https://crrie.com/c/?r=${revId} から応答を返却しています。
参考にしたサイトや記事
本記事が参照しているソースコードを公開しているサイト GitHub です。
GitHub – GoogleChrome/chrome-extensions-samples: Chrome Extensions Samples
Javascript の fetch に関する説明はこちらのサイトで分かりやすく解説されていました。
JavaScriptのFetch API について – Qiita