概要
これは初心者のブラウザ拡張機能 Advent Calendar 2024の24日目の記事です。
ダウンロードAPIを使ってみます。
やること
ブラウザ拡張で指定したサイトの画像をダウンロードします。
具体的なソースコード
manifest.json
{
"browser_specific_settings": {
"gecko": {
"id": "the-town-sample-download@example.com"
}
},
"manifest_version": 3,
"name": "init-extention",
"version": "0.1",
"description": "ダウンロードサンプル",
"icons": {
"48": "icons/icon-48.png"
},
"background": {
"scripts": ["background.js"]
},
"permissions": [
"downloads"
]
}
permissions
にdownloads
を指定します。
background.js
function onStartedDownload(id) {
console.log(`Started downloading: ${id}`);
}
function onFailed(error) {
console.log(`Download failed: ${error}`);
}
var downloadUrl = "https://cdn.qiita.com/assets/public/advent_calendar/countdown/countdown-1-979082f55d585a06da26f2de42e3197b.png";
var downloading = browser.downloads.download({
url: downloadUrl,
filename: "qiita_image.png",
conflictAction: "uniquify",
});
downloading.then(onStartedDownload, onFailed);
ダウンロードにはbrowser.downloads.download
関数を使います。
ここではQiitaのサイトにある画像をダウンロードします。
この拡張機能実行すると、指定したURLの画像を取得してダウンロードフォルダへ格納されます。