PEAR Log を使って Firebug にログを出力する

  PEAR Log 1.9.11 から Firebug にログを出力することができるようになったみたいなので試してみました。

- PEAR :: Package :: Log
  http://pear.php.net/package/Log

- Firebug - Web Development Evolved
  http://www.getfirebug.com/jp.html

require_once 'Log.php';

$log = &Log::singleton('firebug', '', 'PHP', array('buffering' => true), PEAR_LOG_DEBUG);

$log->log('デバッグレベルのログ', PEAR_LOG_DEBUG);
$log->log('情報レベルのログ', PEAR_LOG_INFO); // この場合は、PEAR_LOG_INFO は省略可
$log->log('警告レベルのログ', PEAR_LOG_WARNING);
$log->log('エラーレベルのログ', PEAR_LOG_ERR);


  コードはこれだけで、log() メソッドでログを出力します。

PEAR Log Firebug

  生成される HTML は以下のようになります。

<script type="text/javascript">
console.debug("PHP [debug] デバッグレベルのログ");
console.info("PHP [info] 情報レベルのログ");
console.warn("PHP [warning] 警告レベルのログ");
console.error("PHP [error] エラーレベルのログ");
</script>


  singleton の第 4 引数はオプションですが、上記の例ではバッファリングを有効にしています。
  バッファリング有効にすると JavaScript が HTML の一番最後に追記されるようになります。
  逆に、バッファリングを有効にしない場合 (デフォルト) は、log() メソッドの場所に JavaScript が生成されるようになります。

  header() で何か出力しているときや、セッションを使う場合はバッファリングが無効だと問題になる場合があるので、そのようなときには、バッファリングを有効にすることで、問題なくログを出力することができる場合があります。

Firefox で Windows Media Player 11 を利用する方法

  Firefox では Windows Media Player 9/10/11 がインストールされていても、6.4 用のコントロールを利用するらしいです。
  以下、Firefox で Windows Media Player 9/10/11 を利用するためのレジストリファイルです。

- Windows Media Player 9.0 registry patch
  http://plugindoc.mozdev.org/resources/wmp9.reg

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\ShimInclusionList\MOZILLA.EXE]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\ShimInclusionList\PHOENIX.EXE]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\ShimInclusionList\MOZILLAFIREBIRD.EXE]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\ShimInclusionList\FIREFOX.EXE]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\ShimInclusionList\SEAMONKEY.EXE]


- ref.: PluginDoc: Windows Issues
  http://plugindoc.mozdev.org/important.html

- ref.: Windows Media Player 9.0をインストール済みです。どうしてMozilla FirefoxはWindows Media Player 6.4を使うの?
  http://plugindoc.mozdev.org/ja-JP/faqs/firefox-windows.html#issues-wmp9

prototype.js の Event.observe を使った onbeforeunload について

  JavaScript のイベントに、ウィンドウが閉じられる直前に起こる onbeforeunload があります。
  これを使うと、何がしかの内容を入力中にページを移動する際に警告のメッセージを出すことができます。
  WordPress とかで利用されています。

  使い方は簡単で、以下のようにダイアログに表示する任意のメッセージを返します。

window.onbeforeunload = function(e) {
    // なにも返さなければ、なにも起きない。
    return '<任意のメッセージ>';
};


  ダイアログの表示は以下のようになります。

- Internet Explorer 6.0
  Internet Explorer 6.0

- Internet Explorer 7.0
  Internet Explorer 7.0

- Firefox 2.0.0.5
  Firefox 2.0.0.5

- Safari 3.0.2 (beta)
  Safari 3.0.2

  本題はここからで、これを prototype.js の Event.observe を使った場合はどうなるかということです。
  まず、素直にやってみます。

Event.observe(window, 'beforeunload', function(e) {
    return '<任意のメッセージ>';
});


  これでうまくいくと思いきや、どころがどっこい Safari 3.0.2 (beta) ではうまくいきますが、IE 6.0/7.0、Firefox 2.0.0.5 ではダイアログが表示されません。

  次に、以下のように returnValue に値を入れてみます。

Event.observe(window, 'beforeunload', function(e) {
    e.returnValue = '<任意のメッセージ>';
});


  これだと、IE 6.0/7.0、Firefox 2.0.0.5 ではうまくいきますが、Safari 3.0.2 (beta) ではだめでした。

  上記の結果、以下のようにすれば IE 6.0/7.0、Firefox 2.0.0.5、Safari 3.0.2 (beta) でもうまくいくことがわかりました。

Event.observe(window, 'beforeunload', function(e) {
    // イベントをキャンセルする場合は、なにも返さない。
    return e.returnValue = '<任意のメッセージ>';
});


  まあ、window.onbeforeunload で問題ないわけなので、Event.observe を使う必要はないかもしれませんが、10 分ほどはまってしまったので、メモとして残しておきます。

  ちなみに onbeforeunload は、手元にある限りでは IE 6.0/7.0、Firefox 2.0.0.5 で対応していて、Opera 9.22 とか Netscape 7.1 では対応していませんでした。

Software Design 2007 年 4 月号

  B000O58WH4
  http://www.amazon.co.jp/o/ASIN/B000O58WH4/todaysnonsenc-22/ref=nosim/
  技術評論社
  ISBN: B000O58WH4
  2007/3/17
  970 円

  第 2 特集に総ページ 54 ページにも及ぶ「Firefox 拡張機能開発チュートリアル」が掲載されている.

o 1章:Firefox拡張機能ことはじめ……江村秀之(level)
o 2章:~開発を始める前に~拡張機能開発で使う技術……下田洋志
o 3章:XUL入門~直感的なUI作成を体験!~……下田洋志
o 4章:XPCOM活用術~高度な処理を実現する~……下田洋志
o 5章:Firefox拡張機能を作ってみよう!……五味渕大賀
o AppendixFirefox拡張機能/XULアプリ開発支援ツールセレクション……松澤太郎 aka btm

Firefox 2.0 に対応している拡張機能を早速調査してみた

  Firefox 2.0 が 25 日にリリース予定らしいですが,実はもう落とせるみたいなので試してみました.

- Index of /pub/mozilla.org/firefox/releases/2.0/win32/ja
  http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0/win32/ja/

  ただし,これが 25 日にリリースされるものと同一かどうかはわかりません.

  まあとりあえず,早速インストールしてみました.

  

  バージョンは,2.0 で User-Agent は以下のようになっています.

Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1) Gecko/20061010 Firefox/2.0

  一番気になる拡張機能の互換性ですが,以下の一覧のようになっています.
  といっても,自分が使っているものだけですが.

- 対応しているもの
  All-in-One Gestures 0.18.0
  ColorZilla 0.8.3.1
  EditCSS 0.3.6
  ErrorZilla 0.2
  FireBug 0.4.1
  FlashGot 0.5.96.060910
  Google Browser Sync 1.2.20060911.3
  Google Notebook 1.0.0.10
  Greasemonkey 0.6.6.20061017.0
  Html Validator 0.7.9.5
  IE Tab 1.1.1.4
  Japanize 0.7.1
  JavaScript Debugger 0.9.87
  Leak Monitor 0.3.4
  ListZilla 0.8
  More Tools Menu 1.0.3
  Nightly Tester Tools 1.2
  Pearl Crescent Page Saver Basic 1.2
  SearchBox Sync 0.4.1
  SearchWP 0.8
  Selenium IDE 0.8.3
  Talkback 2.0
  Tamper Data 9.8.1
  VideoDownloader 1.1.1
  ViewSourceWith 0.0.8.2
  Web Developer 日本語版 1.0.2

- 対応していないもの
  Copy URL + 1.3.2
  CustomizeGoogle 0.54
  Fasterfox 1.0.3
  Favicon Picker 0.3.0
  Menu Editor 1.2.2
  mixi external site blocker 0.1.7
  Parent folder 2.0
  Resize Search Box 0.0.7
  Resizeable Textarea 0.1b
  Restart Firefox 0.3.1
  Tab Mix Plus 0.3.0.5

  いつの間にかこんなにインストールしていてびっくりしたのですが,意外と多くの拡張がすでに対応していました.
  対応していない拡張も Nightly Tester Tools で強引にインストールすることはできるのですが,動作するかどうかは別問題です.

  たとえば,Tab Mix Plus は設定画面が変になったりしてまともに動きませんでした.
  逆に,それ以外の未対応の拡張はまともに動作しているように見えました.

  そのうち対応されるでしょうから,それまで待っているのも手かもしれません.

- 追記
  Tab Mix Plus のサイトに,Dev-build という開発バージョンがありました.
  現在のバージョンは 0.3.0.61001 です.こちらを使えば,Firefox 2.0 でも問題なく動作しているようにみえます.
  とりあえず,これで乗り換えても問題ないっぽいです.

  http://tmp.garyr.net/tab_mix_plus-dev-build.xpi

Firefox の Flash Player をアップデートする方法

  Flash Player にセキュリティーホールが見つかったとのことで,Flash Player をアップデートしようとしました.

- Adobe Flash Player ダウンロードセンター
  http://www.adobe.com/go/getflashplayer_jp

  ところが,Firefox ではこのアップデートを適用しても Flash Player のバージョンが古いままのときがあります.
  その際は,<Firefox をインストールしたディレクトリ>\plugins の中にある

flashplayer.xpt
GetFlash.exe (ない場合も)
GetFlash.exe.manifest (ない場合も)
NPSWF32.dll
NPSWF32_FlashUtil.exe (ない場合も)

  を削除して,例えば以下ののページにアクセスします.

- Macromedia Flash Player
  http://www.adobe.com/jp/products/flash/about/

  ここで,プラグインのダウンロードを促されますので,そのままインストールします.

  プラグイン検索サービス

  そうすると無事に,最新版にアップデートされます.

  Flash Player

NewsMonster はインストールしてはいけない

  XUL な RSS リーダ NewsMonster が良さそうだったのでインストールしてみました.

- NewsMonster RSS News Aggregator - with style!
  http://www.newsmonster.org/

  意気揚々と Firefox をリスタートさせると,あらびっくり.
  画面が以下のようになってしまいました.
  縦に長く伸びているボタンみたいなのがタブで,下のほうに少しだけ表示されているのがブラウズ部分です.

  

  むむむ,ということで,アンインストールしようとして,もう一度びっくり.
  拡張機能からアンインストールできません.拡張機能にもリストされていませんでした.

  若干あせりつつ,Web でいろいろ検索して見たのですがあまり情報が見当たりません.
  参考になりそうなのが,以下のサイト.

- Buzzurro: Firefox users, never EVER install NewsMonster !
  http://buzzurro.blogspot.com/2005/09/firefox-users-never-ever-install.html

  こことは若干やり方は違うのですが,NewsMonster のアンインストールの方法を書いておきます.
  Firefox 1.5.0.6 で試しました.また,<Firefox> は Firefox がインストールされたディレクトリを指します.

1. Firefox を終了する

2. C:\newsmonster を削除する

3. <Firefox>\chrome\newsmonster.jar を削除する

4. <Firefox>\components にある以下のファイルを削除する.

   newsmonster-service.js
   newsmonster-rdf-datasources.js
   newsmonster-lib.jar
   commons-httpclient.jar
   jdom.jar
   panther.jar
   pxalan.jar
   pxercesImpl.jar
   pxsltc.jar
   regexp.jar
   reptile.jar
   runtime.jar
   talon.jar
   xml-apis.jar

5. <Firefox>\chrome\installed-chrome.txt から newsmonster がある行を削除する

6. <Firefox>\chrome\app-chrome.manifest から newsmonster がある行を削除する


  以上で,NewsMonster のアンインストールが完了します.

  Firefox 1.5 では NewsMonster はインストールしないほうがいいような気がします.
  期待していただけにちょっと残念ですが……

  XUL ベースで 3 ペインな RSS リーダー,なにかいいの知りません?

Firefox で複数のページをホームページに設定する方法

  http://www.mozilla-japan.org/kb/solution/2012

  Firefox 使いには常識なのかもしれないけど,複数のページをホームページに設定する方法.
  やり方は上記サイトにある方法でもいいんだけれども,要は `|' で区切って URL を並べるだけ.

  例えば,Gmail と livedoor Reader をホームページとして設定したい場合は,以下のように設定します.

https://mail.google.com/mail/ | http://reader.livedoor.com/reader/

  これで Firefox を起動すると,Gmail と livedoor Reader がそれぞれタブで開かれることになります.

  ただし,ツールバーのホームのアイコンをクリックしても,上記で設定したサイトが二つとも開いてしまいますので注意が必要です.

Google Notebook の Firefox 拡張を使用時に,文字列を選択すると表示される `Note this +' を消す方法

  相変わらず Google Notebook を簡易メモ帳として重宝しているんだけど,文字列を選択すると `Note this +' が表示されます.

  Google Notebook

  これが表示されるたびに,ページがリロードされて「いらっ」となっていたのですが,これを表示させなくする方法.

  実はいたって簡単で,ステータスバーにある Google Notebook のアイコンをクリックすると,
  Enable 'Note This' button というメニューが出てきて,これのチェックを外せば OK.

  Google Notebook

  スクリプトを眺めたりしていろいろ探した割には,あっさり解決.

- ref.: [2006-05-19-1]: Google Notebook を Web ページのスナップショット置き場として使ってみる

Google Notebook を Web ページのスナップショット置き場として使ってみる

  最近リリースされた Google の新サービス Google Notebook ですが,あまり盛り上がっていないようです.
  いまいち使い方というか,使う場面が分からなかったりしていたのですが,Web ページのスナップショットを溜めるというアイディアを思いつきました.

  まず,Firefox の拡張,または IE のアドオン をインストールします.

  インストールすると,ブラウザの右下に Google Notebook のアイコンが表示されます.
  これをクリックすると小さい窓が表示されます.これが ミニ Google Notebook になるわけです.

  さて,気になるページがあったとしましょう.
  ここで,おもむろに Ctrl + A なんか押して全部選択します.ここで,ミニ Google Notebook の登場ですが

  Google Notebook Firefox

  選択された状態で [Add note] をクリックします.
  すると,どうでしょうか.今見ているページのスナップショットが Google Notebook に取り込まれました.
  画像も取り込まれていますし,リンクもきちんと貼られたままです.


  

  サイトの移転や閉鎖などでページ自体がなくなってしまうことはよくあることですよね.
  こういった場合に力を発揮しそうです (画像は見えなくなってしまうかもしれませんが).

  また,後で必要な情報を探すときは Google お得意の検索機能が使えます.
  ただし,現状では日本語では検索できませんでした.そのうち改善されることを期待します.

  このように,Google Notebook とブラウザの拡張機能を使うことで,簡単に Web ページのスナップショットを蓄積することができます.
  Google Notebook はメモを公開することができるのですが,Web ページのスナップショットを公開することには賛否がありそうなので,注意が必要です.

  ソーシャルブックマークとはまた違った情報の蓄積の方法が見えてきそうです.

- Google Notebook
  http://www.google.com/notebook/

- Google Notebook (拡張機能のダウンロード)
  http://www.google.com/notebook/download