島根県安来市のフリーランスエンジニア_プログラマー画像1

ブラウザ拡張機能のUIデモを作った|Chrome拡張機能で動画ダウンロードボタンを追加する仕組み

「この動画をオフラインで見たい」「トンネルや地下鉄でも途切れずに見たい」——そんな要望に応えるブラウザ拡張機能のUIデモを作成しました。動画サイトにワンクリックでダウンロードボタンを追加するChrome拡張機能のイメージデモです。実際には動作しませんが、拡張機能開発の参考・開発依頼の導線として制作しました。

ブラウザ拡張機能で何ができるか

ブラウザ拡張機能はWebページに機能を後付けできる仕組みです。既存サービスのUIに独自のボタンやパネルを追加したり、ページの内容を自動処理したりすることができます。

用途 実装例
動画・画像の保存 ダウンロードボタンの追加・フォーマット選択
業務効率化 フォームの自動入力・データ自動収集
コンテンツ加工 翻訳・テキスト整形・スクリーンショット
通知・アラート 価格変動・在庫変化の検知・通知

実際に動かしてみる(デモ)

以下は実際に操作できるUIデモです。右上の赤いアイコンをクリックすると拡張機能のポップアップが開きます。フォーマット選択やダウンロードボタンも操作できます。実際のダウンロードは行われません。

🎬 UIデモ(実際には動作しません)
🔒 video-site.example.com/watch?v=demo_xxxxxx
VideoSaver
動画ダウンローダー拡張機能
会話ロボット盲導犬が登場、飼い主との対話機能を搭載
AIロボットニュース / Robotics Trend
フォーマットを選択
1080pFull HD MP4
142 MB
720pHD MP4
68 MB
MP3音声のみ
8 MB
会話ロボット盲導犬が登場、飼い主との対話機能を搭載
AIロボットニュース · 視聴回数 1,247回 · 2026年4月20日
次の動画

開発手順(5ステップ)

STEP 1:manifest.jsonの設計

Chrome拡張機能はmanifest.json(バージョン3)で構成を定義します。必要なパーミッション(tabs・activeTab・storage・downloads)を最小限に設定し、content_scriptsで対象サイトのURLパターンを指定します。ポップアップUIはpopup.htmlとpopup.jsで実装し、バックグラウンド処理はservice_worker(MV3対応)で管理します。

STEP 2:コンテンツスクリプトの実装

content_scripts/main.jsで対象ページのDOMを監視し、動画要素を検出したらダウンロードボタンを動的に追加します。MutationObserverでSPAのページ遷移にも対応します。検出した動画情報(URL・タイトル・サムネイル)はchrome.runtime.sendMessageでバックグラウンドに送信します。

STEP 3:ポップアップUIの実装

popup.html + popup.cssでポップアップUIを実装します。chrome.tabs.queryで現在のタブ情報を取得し、コンテンツスクリプトから受け取った動画情報をUIに反映します。フォーマット選択(画質・ファイル形式)・プログレスバー・ダウンロード履歴をReactまたはバニラJSで実装します。

STEP 4:ダウンロード処理の実装

chrome.downloads APIを使ってファイルをダウンロードします。動画URLの取得方法はサイトによって異なり、ページのソースコード解析・API呼び出しの傍受・メディアストリームの録画など複数のアプローチがあります。ダウンロード先フォルダ・ファイル名のフォーマットはchrome.storage.syncでユーザー設定として保存します。

STEP 5:Chrome Web Storeへの公開

Googleのデベロッパーアカウント(登録料5ドル)を取得し、Chrome Web Storeにパッケージを申請します。審査は通常3〜7営業日かかります。アイコン(16・48・128px)・スクリーンショット・プロモーション画像を用意します。プライバシーポリシーの作成と収集するデータの明示が必須です。Edge・Firefoxへの移植はManifest V3の共通仕様を活かして最小限の修正で対応できます。

開発・運用コストの目安

項目 内容 費用目安
Chrome拡張機能開発(基本) ポップアップUI・コンテンツスクリプト・ダウンロード機能 5万〜15万円
マルチブラウザ対応 Chrome + Edge + Firefox +3万〜5万円
バックエンド連携 ユーザー認証・設定同期・ライセンス管理 +10万〜20万円
Chrome Web Store登録料 デベロッパーアカウント(一回のみ) 約750円($5)
サーバー費用 バックエンドAPIが必要な場合 月3,000円〜

よくある質問

Chrome以外のブラウザにも対応できますか?

対応できます。ChromeとEdgeはManifest V3ベースでほぼ同じコードが動作します。FirefoxはManifest V2ベースですが、WebExtensions APIの共通仕様を使えば最小限の修正で移植できます。Safari(macOS・iOS)はXcodeを使ったSafari Web Extension形式への変換が必要で、追加工数がかかります。

審査で却下されることはありますか?

あります。主な却下理由はプライバシーポリシーの不備・必要以上のパーミッション要求・マルウェアと誤検知されるコード・著作権侵害のリスクがある機能などです。審査基準を事前に確認して対応することで承認率が上がります。審査結果はメールで通知され、修正して再申請できます。

SaaS化・有料化はできますか?

できます。chrome.storage.syncでユーザーIDを管理し、バックエンドAPIでライセンス認証する仕組みを実装します。決済はStripeで月額または買い切りの課金を設定できます。無料プラン(機能制限)と有料プランの2階層にするのが一般的です。

まとめ

ブラウザ拡張機能はWebページに独自機能を後付けできる強力な仕組みです。manifest.json + コンテンツスクリプト + ポップアップUIの基本構成で、5万円程度からMVPを開発できます。上記のデモのようなダウンロード機能に限らず、業務効率化・データ収集・UI改善など幅広い用途に対応できます。

開発のご相談・お見積もりはお気軽にお問い合わせください。要件定義からChrome Web Store公開まで一貫して対応します。

ニュース記事を自動で動画化するツールを作った|Flask×FFmpeg×ChatGPT APIで実装

WordPressのお問い合わせフォームが送れない原因と解決方法【Contact Form 7対応】