おすすめの userChrome.js スクリプト

「おすすめ」とは銘打ってありますが、 userChrome.js 自体が一般的な機能ではありません。導入に関しては、自己責任で実施してください。本記事は、 userChrome.js を自力で導入できる方が対象です。

tabLock.uc.js

タブコンテキストメニューからタブのロック(又はロック解除)を実施できます。

「ロック」とは、リンク等によるページ移動を防ぎます。もしも、ロックしているページでリンクをクリックした場合、リンクを新しいタブとして開きます。

次のオプションを設定できます。(コードを書き換える)

  • 「次ページ」「前ページ」を無視する
  • 「href ="#xxx"」を無視する
  • 「戻る」「進む」を無視する

tabProtect.uc.js

タブコンテキストメニューからタブのプロテクト(又はプロテクト解除)を実施できます。

「プロテクト」とは、タブが閉じることを防ぎます。もしも、タブを閉じる操作をしてもタブがそのまま維持されます。

タブをダブルクリックでリロード.uc.js

タブをダブルクリックでリロードする。

URLBarAutoCopy.uc.js

URLバーを選択すると自動的にクリップボードにコピーします。

ClearSearchWord.uc.js

ツールバー上の検索エリアで検索したとき、検索ワードを削除する。

前の検索が残っていてもあまりいいことがないため、検索時に削除します。

DisplayNumberOfDownloadsOnButton.uc.js

ツールバー上のダウンロードボタンにダウンロード中のダウンロード数を表示する。

BookmarkbarNotEditable.uc.js

ブックマークツールバーのドラッグによる編集を編集不可にする。ただし、Shift+ドラッグで編集可能にする。

ブックマークツールバーでの誤操作を防止します。(ただし、導入したことを忘れると編集できなくて困ります)

MouseGestures.uc.js

マウスジェスチャ機能です。

拡張機能では、制限される動作を実現することができます。ホイールジェスチャー。ロッカージェスチャーにも対応しています。

※ MouseGestures.uc.js は、上記以外にも複数の作者のバージョンが存在します。
 個別に独自進化しているため、注意が必要です。

IME-Colors.uc.js

テキストフィールド、テキストエリアにカーソルがあるとき、 IME の状態に応じて寒色・暖色のバックグランドを設定する。

手元の最新版(v0.0.13)は、正常に動作しています。ですが、インターネット上で発見できる最新版(v0.0.11)では、ページ上の IME 切り替えに対応できていません。作者(Griever)様の最新版(v0.0.5)は既に動作していません。

TabMixPlus

TabMixPlus は、タブに関する多岐にわたる機能を設定できます。(既存環境に既になれている場合は、あまりおすすめできません)

TabMixPlus を最新の Firefox 環境で使用することができます。(旧アドオンは、 Firefox57 から廃止となり、使用できなくなっていました)

TabMixPlus は、 一般的な userChrome.js (userChromeJS)とは異なり、 bootstorap 方式を採用しています。 bootstorap 方式に対応した userChrome.js (ローダー)でないと実行することはできません。

備考(e10s 版)

e10s は、 Electrolysis の略称です。

Electrolysis は、 Firefox のマルチプロセス対応のことを指しています。マルチプロセスは、安定性向上、パフォーマンス向上、セキュリティ強化などのメリットがあります。(メモリ消費量増加などのデメリットもあります)

Firefox は、元々シングルプロセスを前提に制作されていました。ですが、上記のメリットがあるため、段階的にマルチプロセス対応が実施されてきました。 Firefox がマルチプロセス対応した結果、内部処理が変更され既存のスクリプトが動作しなくなり、個別の userChrome.js スクリプトも対応を迫られました。その結果が e10s 対応版のスクリプトです。 e10s 版は、分離されたプロセスを横断できる I/F への書き換えなどが行われています。より、複雑な処理が必要となりました。

段階的に対応が実施されたため、 Firefox のバージョンアップ毎にスクリプトが動作しなくなる現象が多発しました。その結果、開発を終了するスクリプト(旧アドオンも)が相次ぎました。

備考(userChromeJS 版・bootstorap 版)

「userChromeJS」版は、ユーザースクリプトを源流とするスクリプトです。 Greasemonkey 用のスクリプトを chrome 環境で実行するためのスクリプトです。そのため、「実行場所」を指定する以外は、実行時に呼び出しを受ける程度でほとんど外部的な操作を必要としません。

「bootstorap」版は、旧アドオン(レガシー拡張機能)を源流とするスクリプト(拡張機能?)です。旧アドオンの実行用 I/F を模倣することで userChrome.js 方式で旧アドオンの実行をサポートします。ただし、前述の e10s 対応などがあり、単純に旧アドオンのコードがそのまま動作することはありません。ですが、 Firefox 本体を直接いじれるため、拡張機能とは異なり旧アドオンに類する動作を実現できます。