Google Chromeの拡張機能はJavaScriptで記述されています。これにHTMLやCSSを組み合わせたりして構成されているのですが、使っていると「なんだか動作がおかしいな」と思うことがあるかもしれません。
原因究明のためにJavaScriptのソースコードを確認しなければなりませんが、拡張機能はどこのフォルダに保存されているのでしょうか。
インストールされている拡張機能の確認
Chromeをメインブラウザとして使っているなら拡張機能でカスタマイズしているかと思います。たくさんインストールしていると、なにを入れたか忘れてしまうかもしれません。
確認するには、右上のメニューから「その他のツール」→「拡張機能」を選択します。
新しいタブで「拡張機能」が表示され、インストールされている拡張機能の一覧が表示されます。
どこのフォルダに保存されているの?
Windows 7の場合、次のフォルダに保存されています。
1 | C:/Users/(ユーザー名)/AppData/Local/Google/Chrome/User Data/Default/Extensions |
開いてみるとJavaScript、HTML、CSS、アイコン、jsonファイルなどの一式が拡張機能ごとに保存されているのですが、フォルダ名がアルファベットの羅列でよくわかりません。
すべてのフォルダを開いてJavaScriptなどのファイル名からどの拡張機能であるかを類推するのもひとつの手段ですが、あまりスマートな方法であるとは言えません。
ここで拡張機能タブを確認してください。例えば、私は「Gestures for Google Chrome」をインストールしていますが、IDの部分に注目してください。
アルファベットの羅列が表示されていますが、これが先ほどのExtensionsフォルダ内のフォルダ名と対応しています。これでいちいちフォルダを開けて確認しなくても保存場所がわかるわけです。
なんでこんなめんどくさい仕様なんですかね?
読めないJavaScriptもある
保存場所もわかり「さぁ解析しよう」とJavaScriptを開いてみると、読めないソースコードもあります。
これはスペースや改行を削除して圧縮しているためです。一般的にJavaScriptを圧縮する目的は読み込み速度の向上にあります。ブラウザがサーバーにHTMLを要求し、HTMLに記述されたCSSやJavaScriptを読み込むことでウェブサイトを表示することができるのですが、CSSやJavaScriptのファイルサイズが少しでも小さければページが表示される速度が上がることになります。
ただですね、拡張機能はローカルに保存されていることから圧縮による速度向上にはあまり関係ないと思うんですよね。どちらかと言えば、難読化によるパクリ防止でしょうか。
×××××.min.jsなんていうファイル名がそうです。jQueryを触ったことのある人ならおなじみのファイル名ですね。.minが付いていなくても圧縮されている場合もあります。
さて、この読みづらくなっているソースコードですが、ひとつずつ手でスペースや改行を入れていけば解析できます。え?面倒くさくてやってらんないって?
ありがたいことに便利なサービスが公開されているので、これを使っちゃいましょうね。
「変換前のコード」の部分にソースコードを貼り付けるだけで自動で整形してくれます。
拡張機能を公開するような人のソースコードは学ぶところが非常に多いです。時間があるときに眺めておくと、プログラミングの上達のヒントを見つけられるかもしれません。お試しあれ。
Comment