LoginSignup
2
4

More than 5 years have passed since last update.

拡張機能Mouse DictionaryをFirefoxでも使いたい

Last updated at Posted at 2018-09-09

(2018/9/10追記)
作者様がFirefox対応を準備しているようです。ベータ版が公開中!詳しくはこちらから
そしてこの記事はもはや用済みだー

Mouse Dictionaryとは

Chromeブラウザで使用できる、英単語をマウスオーバーすると単語(+熟語)の意味を表示してくれる便利な拡張機能です。
詳しくはこちら

Firefoxで使いたい

本拡張機能はWebExtensionsで実装されているので、おおむねFirefoxでも互換性があるはず。ちょっといじってみたらFirefoxで使えないかなー。

ということで試してみました。

過程とかいいから結果はどうなの、という方はこちらからどうぞ。

手順

manifest.json編集

まずはGithubから一式をダウンロードしてきます。

$ git clone https://github.com/wtetsu/mouse-dictionary

次にsrc/manifest.jsonをいじります。以下の部分が対象です。

manifest.json-before
"background": {
  "scripts": ["background.js"],
  "persistent": false 
},
"browser_action": {
  "default_title": "Mouse Dictionary"
},

2か所編集します。
1つは、persistentを削除します。前の行のカンマも忘れずに消しておきましょう。
もう1つは、default_iconを設定します。これがないとアドオンのボタンにアイコンが適用されません。

manifest.json-after
"background": {
  "scripts": ["background.js"]
},
"browser_action": {
  "default_icon": "icon48.png",
  "default_title": "Mouse Dictionary"
},

ビルド

node.js(+npm)がいるようです。とりあえず公式サイトからテキトーに最新版(Node.js10.10.0, npm6.4.1)をダウンロードしてきて、インストールしました。

そして、以下のコマンドを実行

$ npm install
$ npm run build

動作確認

Firefoxのアドレスバーからabout:debuggingと入力し、「FireFox 開発ツール デバッガー」を開きます。上部のボタン「一時的なアドオンを読み込む」を押して出てくるダイアログで、先ほど編集したmanifest.jsonを指定します。

結果

一応、動くことは動くっぽい。
ただし、今のところ少なくとも2つ、問題があります。

問題点1. 大きな辞書を食わせるとクラッシュする

アドオンの設定画面から、辞書データを読み込ませることができるのですが、BOOTHで購入してきた「英辞郎」のテキストデータ(約128MB)を読ませたところ、途中でブラウザごとクラッシュしました。

(2018/9/10更新)
問題はFirefoxにおけるメモリの使用量に起因する可能性が高いです。上記の英辞郎データの読み込み時のメモリ使用量はMax7GBにもなり、メモリスワップ領域を少なく設定しているLinux環境などではブラウザがクラッシュする可能性があります。Windowsでは自動的にメモリスワップが行われるため、問題はありませんが、一時的にシステムの動作が鈍くなる可能性があります。

問題点2. 署名しないと不便

上記の方法でアドオンを読み込ませると、ブラウザ終了時にすべての情報が削除されてしまいます(アドオンも、辞書データも)。デバッグ用だから仕方ないんです(むしろ残ったら困る)。それを避けるための手段はアドオンパッケージ(.xpi)を作成してインストールすることです。

xpiは実際はただのzipですので、distフォルダ以下のファイルを全部まとめてzipしてしまえば簡単に作れます。

$ cd dist
$ zip -r mouse-dictionary.xpi *

ただし、このままではFirefoxはセキュリティ上、このxpiを受け付けてくれません。署名が必要で、そのためには開発者登録が必要で、という感じに面倒な手順が必要です。詳しくはこちらを参照願います。

Waterfoxなら未署名のxpiでもインストールできます。

まとめ

・ちょっと修正すれば動く
大きな辞書ファイルは使えない(要追加検証)
・使うときはFirefoxではなくWaterfox推奨(署名の都合上)
・Firefox版アドオンの正式公開を待とう(あるいはベータ版を試そう)
・Linuxユーザーでデータ読み込み時にブラウザがクラッシュする場合は、メモリをたくさん積む(16GB推奨)か、スワップ領域をたくさん確保しよう

2
4
9

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4