## 概要 [[拡張機能アイコン (Chrome Extension)|拡張機能アイコン]]を押したとき、メニューやポップアップではなく、新しいタブで[[Chrome Extension]]用のページを開きたい。 ## やり方 まず、[[wxt.config.ts]]の`manifest.action`を設定する。値は空オブジェクトで問題ない。 ```ts export default defineConfig({ manifest: { action: {}, }, }); ``` > [!error] Service worker registration failed > この設定を忘れると以下のエラーになる。 > > ![[Pasted image 20240412001441.png]] `entrypoints/background.ts`の`defineBackground`で[[拡張機能アイコン (Chrome Extension)|拡張機能アイコン]]クリック時の処理を記述する。 ```ts export default defineBackground(() => { // アイコンクリック時の処理 browser.action.onClicked.addListener(() => { browser.tabs.create({ url: browser.runtime.getURL("/top.html") }); }); ``` `browser.runtime.getURL(...)`でChrome拡張内のページURLを生成できる。 再読み込み後にエラーが出なければおそらくOK。[[拡張機能アイコン (Chrome Extension)|拡張機能アイコン]]をクリックして新しいタブに指定したページが開かれるはず。