Firebug ではじめる JavaScript
とてもいい記事だと思います。
http://gihyo.jp/dev/feature/01/firebug
JavaScript を勉強したい人はどうぞ
やっぱり、雑誌の記事より Web 連載のほうが価値が高いなあ
Firefox 3 Beta 4 に DOM Inspector が入ってなかった><
とりあえず
- 以下からダウンロードして
- xpi を unzip する。
- inspector@mozilla.org というディレクトリを作って xpi の中身を保存
- install.rdf の maxVersion を上げて
- プロファイルディレクトリ/extensions に入れて
ってやったら動いた。
Firefox で起こる nsSessionStore.js のエラーを起こらなくする
about:config で以下の値を false にする
browser.sessionstore.enabled
そのかわり、セッションの復活ができなくなります。
僕はセッション復活機能は使わない人なので
英語版フォクすけブログあったんですね><
Foxkeh's Blog
フォクすけかわゆす>< ハァハァ
Firebug を「カクカク化」して $x の第 2 引数でコンテキストノードを指定できるようにする。
twitter の id:ZIGOROu と id:ku0522 の会話で
$x の第 2 引数コンテキストノード指定出来たらいいよねーって話しがあって
作ろうと思って
作ったら
id:os0x さんが先に作ってて
http://d.hatena.ne.jp/os0x/20071213/1197515856
実装もほとんど同じだったので凹みつつ
まあ、もったいないので晒そうとか思った。
で
今回は「チョコチョコいじれる化」しないでやる方法でやってみましょう。
題して
「拡張機能内に自分用の拡張空間を作っとく化」略して「カクカク化」
カクカク化で Firebug を拡張する手順は以下のようになります。
Firebug の拡張機能用のディレクトリに行く
環境 | Firebug の拡張機能用のディレクトリ |
---|---|
WinVista | C:\Users\[ユーザ名]\AppData\Roaming\Mozilla\Firefox\Profiles\[ランダムな文字].default\extensions\firebug@software.joehewitt.com |
WinXP | C:\Documents and Settings\[ユーザ名]\Application Data\Mozilla\Firefox\Profiles\[ランダムな文字].default\extensions\firebug@software.joehewitt.com |
Mac | ~/Library/Application Support/Firefox/Profiles/[ランダムな文字].default/extensions/firebug@software.joehewitt.com |
Unix系 | ~/.mozilla/firefox/[ランダムな文字].default/extensions/firebug@software.joehewitt.com |
2. chrome ディレクトリに自分用の拡張ディレクトリを作る
適当に、ここを
chrome/firebug.jar
こんな感じで
chrome/firebug.jar chrome/firebugex/
3. で、 chrome.manifest に以下の二行を追記する
content firebugex chrome/firebugex/ overlay chrome://firebug/content/browserOverlay.xul chrome://firebugex/content/overlay.xul
overlay の最初が chrome://firebug/content/browserOverlay.xul になるように注意。
4. で、以下のような xul ファイルを chrome/firebugex/overlay.xul に置く
<?xml version="1.0"?> <overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript"> // ... ここに拡張用の JS を書く </script> </overlay>
5. chrome/firebugex 内は自分用の拡張空間として自由に使う
chrome/firebugex には chrome://firebugex/content/ でアクセスできます。
たとえば、
以下のように、 js ファイルを読み込むようにして、 chrome/firebugex/hoge.js を用意してやれば js ファイルの外部化も簡単です。
<?xml version="1.0"?> <overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript" src="chrome://firebugex/content/hoge.js"/> </overlay>
6. 今回の目的は $x を拡張することなので overlay.xul には以下のように書きます。
<?xml version="1.0"?> <overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript"> (function() { var _FirebugCommandLineAPI = FirebugCommandLineAPI; window.FirebugCommandLineAPI = function(context) { var baseWindow = context.window; _FirebugCommandLineAPI.apply(this, arguments); this.$x = function (xpath, context) { return FBL.getElementsByXPath(context || baseWindow.document, xpath); }; } FBL.getElementsByXPath = function(context, xpath) { var nodes = []; try { var doc = context.nodeType == 9 ? context : context.ownerDocument; var result = doc.evaluate(xpath, context, null, XPathResult.ANY_TYPE, null); for (var item = result.iterateNext(); item; item = result.iterateNext()) nodes.push(item); } catch (exc) {} return nodes; }; })(); </script> </overlay>
まとめ
拡張機能を拡張しまくりだぜ!フリーダム!
Firefox の拡張機能をふとした時に手元でチョコチョコいじれるようにしとくと楽しい
この記事で
Firebug ハッキング Tips を纏めたい
Firebug に一行追記して右クリックで XPath をコピペ出来るようにする。 - IT戦記
とか言ってたけどその前に、
僕は Firebug だけじゃなくて、
だいたいの拡張機能で、簡単に「チョコチョコいじれる化」というのをしてるのでそれを書いてみます。
チョコチョコいじれる化とは
jar ファイルを解凍しておいてすぐ書き換えられるようにしとくこと。
「チョコチョコいじれる化」しとくと気付いたときにちょっと JS や XML や CSS を追加するだけで、いろいろ改造できて楽しい。
「でも、 Firefox が壊れる可能性があるじゃん><」って?
チッチッチ、ナンセンスだよメーン
そんなの拡張機能のディレクトリを削除しちゃえば元通りさ
Don't be scared!
iKnow!で英語。ちょっとの努力で、大きな成果を。 - iKnow!
ということで、「チョコいじ化」手順
1. Firefox のプロファイルディレクトリに行く
環境 | プロファイルディレクトリ |
---|---|
WinVista | C:\Users\[ユーザ名]\AppData\Roaming\Mozilla\Firefox\Profiles\[ランダムな文字].default\ |
WinXP | C:\Documents and Settings\[ユーザ名]\Application Data\Mozilla\Firefox\Profiles\[ランダムな文字].default\ |
Mac | ~/Library/Application Support/Firefox/Profiles/[ランダムな文字].default/ |
Unix系 | ~/.mozilla/firefox/[ランダムな文字].default/ |
2. 拡張機能の入ってるディレクトリにいく
extensions ディレクトリに拡張機能が入っていますので、そこに移動してください。
そのディレクトリ内に入ってる一個一個のディレクトリが拡張機能です。
もし、この時点でガクブルな人はこのディレクトリの一個を消してみましょう。
そうして Firefox を再起動すると拡張機能が一個消えてると思います。
拡張機能なんてただそれだけのことなんです><
4. 拡張機能ディレクトリの chrome ディレクトリを開く
拡張機能ディレクトリ内に chrome というディレクトリがあるので開きます。
ディレクトリの中に jar ファイルがなくて JS とかが入っている場合は、
その拡張機能は「チョコいじ化」出来てるので、すぐに改造できます。
試しに、そこに置いてある JS に alert('hoge') とか追記してみましょう。
まあ、大抵の場合は jar ファイルが一個だけ置いてあったりします。
5. jar ファイルをその場に zip で解凍します。
すると
chrome/hoge.jar
がこうなると思います。
chrome/hoge.jar chrome/content/.. chrome/content/.. chrome/content/.. chrome/skin/.. chrome/skin/..
まあ、拡張機能によって違いますが、、、
まとめ
こうしとくと、 5 分でブラウザに欲しい機能を実装できます。
便利><!