← ishizakahiroshi.com
ツール紹介 2026-08-30

Firefox 拡張に URL ルールを足して v0.2.0 を出した

同じ形のブラウザタブが横一列に並び、右側の数枚だけに色付きの目印が留められている図

同じサイトを 3 つのアカウントで開くと、タブが全部同じ名前になります。7 月に公開した v0.1.0 は、そこに Firefox のコンテナ名を差し込むだけの拡張でした。v0.2.0 では URL ルールを足し、SPA での追随を作り直し、コンテナ名の変更が開いているタブへ届くようにしています。直した 3 つのうち 2 つは、動いていると思っていたコードが最初から効いていなかった話でした。

Qiita で読む → note で読む(やさしい版)→ Firefox Add-ons で入れる →

この記事のテーマ

content script は、ページとは別の isolated world で動きます。だからそこで history.pushState を自前の関数で包んでも、ページ側の JavaScript が呼ぶ history.pushState は元のままです。v0.1.0 で SPA に追随できているように見えていたのは、遷移のときに document.title も書き換わって MutationObserver が反応していたからでした。タイトルを変えない遷移では、そもそも追随していません。差し替えをやめて、前回の URL と location.href を比べるだけにしたら、行数は減って動く範囲は広がりました。

もう 1 つは、ブラウザ判定です。typeof chrome !== "undefined" で Chrome を判定していましたが、Firefox も互換のために chrome グローバルを定義します。判定は「どちらが定義されていないか」で分けるのが安全でした。

記事全体の要約インフォグラフィック。URL ルールの自由なカスタマイズ、SPA 遷移検知の刷新、ブラウザ判定ロジックの修正の 3 本柱

記事全体の要約。v0.2.0 で足した機能と、効いていなかった 2 か所の直し方。

v0.1.0 と v0.2.0 でタブの先頭に何が付くかを並べた比較図。合成データの例

v0.1.0 はコンテナ名だけ。v0.2.0 からは URL ルールのプレフィックスがコンテナ名の後ろに連結されます(画像は合成データの例で、実サイト名は使っていません)。

開いたノートパソコンの画面から紙飛行機が飛び立ち、静かな朝の空へ滑り出していく挿絵

提出ボタンを押した直後。今回は審査待ちを経ずに公開されました。

この拡張について

関連記事