Mods—改造? ゲーム好きなら、改造されたゲームをプレイすることほど楽しいものはないことをご存知でしょう。お気に入りのゲームですが、さらなるパワー、機能、楽しさが備わっています。次に、同じ興奮を Web ブラウジング体験にもたらすことを想像してみてください。ブラウザ拡張機能はまさにそれです。ブラウザ拡張機能はブラウザの MOD のようなもので、これまで不可能だと考えられなかった方法でブラウザを強化します。
Chrome 拡張機能を使用すると、特定の URL をブロックしたり、新機能を追加したり、まったく新しい外観を与えたりするなど、ニーズに合わせてブラウザを調整できます。そして一番いいところは?これらの拡張機能は自分で構築できます。このガイドでは、独自の Chrome 拡張機能を作成するプロセスを段階的に説明します。
Web 拡張機能を使い始めるのは、思っているよりも簡単です! JavaScript を知っていれば、新しい API を学ぶだけで簡単に始めることができます。結局のところ、中核は依然として JavaScript です。
この記事は次の補足です: Chrome 拡張機能ハンドブック: メモリを大量に使用するものから運用環境に対応するものまで
Web 拡張機能は MOD に似ていますが、ブラウザー用です。ブラウザの動作 (AdBlock など) や、Mozilla テーマなどの外観を完全にカスタマイズできます。
まず、新しいフォルダーを作成してください!
必要なのは、manifest.json だけです。これはメイン機能ですが、Web 拡張機能用です。これはブラウザが最初に探すファイルです!
{ "manifest_version": 3, "name": "img-downl", "version": "1.0", "description": "image ac?", "content_scripts": [ { "matches": [""], "js": ["content.js"] } ], "permissions": [ "activeTab" ] }
マニフェストには、拡張機能のすべてのメタデータが含まれています。これは、ブラウザが拡張機能をどのように理解し、何ができるかを表します。
重要な違いの 1 つは、永続的なバックグラウンド スクリプトから Service Worker への移行です。 V2 のバックグラウンド スクリプトは、拡張機能の存続期間全体 (ユーザーがブラウズしている間) に実行されるため、「永続的」な側面があります。 V3 では、必要な場合にのみ実行されます!
コンテンツ スクリプトは、バックグラウンド スクリプトとは異なり、DOM にアクセスできます。
これは、単純なプラグインの基本的な構造です。さらに拡張プロジェクトを構築するにつれて、権限と追加機能について学習します。導入としては、この簡単な内訳で十分です。
準備ができて?
この拡張機能は、私が少し前に受講したコンピューター ビジョンのコースからインスピレーションを得たものです。 Google 検索から画像をダウンロードするツールを実装する必要がありました。
注: 閲覧するたびに画像をダウンロードする場合を除き、この拡張機能を常に実行しておくことはお勧めしません。
manifest.json と同じフォルダーに content.js を作成し、次の内容を貼り付けます:
async function processAllImages() { const images = document.querySelectorAll('img'); let count = 0; for (const img of images) { const url = img.src; const filename = `image${count }.png`; // Generate a filename for each image try { await downloadImage(url, filename); console.log(`Downloaded ${filename}`); } catch (error) { console.error(`Error downloading image from ${url}:`, error); } } } // Run the function to process and download images processAllImages();
コンテンツ スクリプトは Web ページに挿入されることに注意してください。たとえば、example.com に移動すると、processAllImages が実行されます。
すべての画像要素を取得してダウンロード関数に渡すだけです:
const images = document.querySelectorAll('img');
async function downloadImage(url, filename) { return new Promise((resolve, reject) => { fetch(url) .then(response => { if (!response.ok) throw new Error('Network response was not ok.'); return response.blob(); }) .then(blob => { const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = filename; a.style.display = 'none'; document.body.appendChild(a); a.click(); URL.revokeObjectURL(a.href); // Clean up the object URL document.body.removeChild(a); resolve(); }) .catch(error => reject(error)); }); }
注: これは静止画像に対してのみ機能します。動的イメージや遅延ロードされたイメージは破損する可能性がありますが、それは今後の反復で対処できるものです。
私は Chrome ベースの Brave を使用していますが、プロセスはどのブラウザでも同様です。
テストするには、選択したブラウザで開発者モードを有効にする必要があります。
Chrome 名前空間に依存していないため、この拡張機能は変更せずに Mozilla でも動作するはずです。
勇敢な:
アドレスバーに「brave://extensions/」と入力します。
開発者モードを有効にします。
フォルダーを選択して拡張機能を読み込みます。
Chrome および Edge: Brave と同様の手順に従います。
(chrome://extensions/ またはedge://extensions/)
MOD—改造は楽しいです!この拡張機能は単純かもしれませんが、開始するための基本を示しています。 Mozilla の MDN には、Web 拡張機能 (一般的な Web 拡張機能とブラウザ固有の両方) の知識をさらに深めるのに最適なリソースがあります。
覚えておいてください: 不要なダウンロードを避けるために、完了したら拡張機能をオフにするかアンインストールしてください。
さらに良いのは…
課題: 入力 (ヒント: クリック、アイコン、および背景スクリプト) を受け取り、ユーザーがボタンをクリックしたときにのみプロセス画像関数を実行する方法を考え出します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3