印刷プレビューで「F5」を押したらリロードできる拡張機能作ったよん。
印刷用 CSS 書いてますか?
Web はユーザが見方を決められる唯一のメディアだと「コクボックルさん」が言っていたので、やっぱり印刷用のスタイルはきっちり書いておいたほうがいいですよ!
でも、「書いて確認して、、、めんどくせー!だって、印刷プレビューってリロードできないんだもんよー!」
と某デザイナーさんが言ってた。。
やってみたら、たしかにめんどくせー。
使いかた
印刷プレビュー画面で「F5」でリロード。今のところそれ以外の機能は一切ない。
Livedoor Reader や Livedoor Clip を読んだときに Firebug が壊れる件を修正。
原因が分かったので
エントリーを書いてみました。
原因は
- Livedoor Reader や Livedoor Clip が parent という名前のグローバル関数を定義していること。
- Firebug が parent を無条件に Window オブジェクトと判断していること。
で、修正方法
まず、 Firefox のプロファイルディレクトリに行く。
環境 | プロファイルディレクトリ |
---|---|
WinVista | C:\Users\[ユーザ名]\AppData\Roaming\Mozilla\Firefox\Profiles\[ランダムな文字].default\ |
WinXP | C:\Users\[ユーザ名]\AppData\Roaming\Mozilla\Firefox\Profiles\[ランダムな文字].default\ |
Mac | ~/Library/Application Support/Firefox/Profiles/[ランダムな文字].default/ |
Unix系 | ~/.mozilla/firefox/[ランダムな文字].default/ |
次に以下のファイルを zip で解凍
extensions/firebug@software.joehewitt.com/chrome/firebug.jar
解凍したら firebug.jar に入っていた以下のファイルを開く
content/firebug/tabWatcher.js
で、この関数の
getContextByWindow: function(win) { while (win && win.parent != win) win = win.parent; for (var i = 0; i < contexts.length; ++i) { var context = contexts[i]; if (context.window == win) return context; } return null; },
ここを
while (win && win.parent != win)
こういう風に修正
while (win && win.parent != win && win.parent instanceof Window)
元のように全体を zip でかためて元の場所に戻す
extensions/firebug@software.joehewitt.com/chrome/firebug.jar
これで Firebug も Livedoor Reader も安心して使えるよ!
やったね!