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 では対応していませんでした。

SQL Hacks ―データベースを自由自在に操るテクニック

  4873113318
  http://www.amazon.co.jp/o/ASIN/4873113318/todaysnonsenc-22/ref=nosim/
  Andrew Cumming (著), Gordon Russell (著), 西沢 直木 (翻訳)
  オライリー・ジャパン
  ISBN: 4873113318
  2007/7/28
  3,150 円

  概要・目次は以下。

- oreilly.co.jp -- Online Catalog: SQL Hacks
  http://www.oreilly.co.jp/books/9784873113319/

MySQL 3.23.58 でデータベース名にハイフン (-) が含まれているとレプリケーションに失敗する

  というようなバグを発見した。

  MySQL 4.1.x では問題ないので、5.0、5.1 でも問題ないような気がします (未確認)。

  ハイフンが含まれている場合は `table-name` のようにバッククォートで括ってあげるといいわけですが、MySQL 3.23.58 の binlog の場合はそうなっていないっぽいです。

  あまり調べる気にならないのは、MySQL 3.23.58 など積極的に使う理由はないわけで……

  とりあえずの解決法としては、データベース名からハイフンをなくしてしまうか、アンダースコアなどの文字に置き換えてしまえばいいです。

  バッドノウハウもいいとこなので、これ以上は首を突っ込まないことに。
  でも忘れる可能性があるのでメモ。

phpMyAdmin のテーマを集めてみました

  phpMyAdmin をお使いの人は知っていると思いますが、phpMyAdmin はテーマを変更することができます。
  複数の phpMyAdmin を使い分けているときに、テーマを変えておくことで誤操作を減らすことができます。

  テーマは、SourceForge の phpMyAdmin のプロジェクトからダウンロードできます。

- SourceForge.net: phpMyAdmin
  http://sourceforge.net/project/showfiles.php?group_id=23067

  ところが、テーマのサムネイルなど用意されていないので、どのようなテーマかダウンロードしてみるまでわかりません。

  そこで、上記ページからダウンロードできるテーマを集めて、サムネイルを作成してみました。

  まずは、バンドルされている 2 つのテーマから。

- original
  

- darkblue_orange
  

  次に、追加でダウンロードできるテーマです。

- aqua
  

- aqua_brushed
  

- arctic_ocean
  

- cactica_blues
  

- crimson_gray
  

- darkblue_gray
  

- dark_lime
  

- garv_blue
  

- green_orange
  

- grid
  

- openphpnuke
  

- original_small
  

- paradice
  

- pixeline
  

- silk
  

- very_small
  

- xampp
  

- xp_basic
  

- xp_blue
  

- xp_dirty
  

- xp_green
  

- xp_silver
  

prototype.js で element にメソッドを追加する方法

  prototype.js 1.5 から $ メソッドが改良されて

$('foo').show();


  のように書けるようになりました.

  prototype.js のソースを読んでいくと Element.Methods に好きなメソッドを追加できそうなのでやってみました.

Element.Methods.warning = function(element) {
    $(element).style.color = '#f00';
    return element;
};

Element.addMethods(); // addMethods しないと追加されない!


  上記は,指定された element を赤色にして警告するものです (いい例が思いつかない……).
  以下のようにして,呼び出せます.

$('bar').warning();


  あまりいい例ではないですが,何か面白いことに使えるかもしれません.

Web 2.0 プログラマーズ API & マッシュアップ メソッド

  4798111791
  http://www.amazon.co.jp/o/ASIN/4798111791/todaysnonsenc-22/ref=nosim/
  SE編集部 (編集)
  翔泳社
  ISBN: 4798111791
  2007/6/20
  1,890 円

Web 2.0 のカテゴリーの中でも、【API】および【AJAX】を用いたウェブ開発が注目されています。
本書は現場の視点から、Web サービスを利用した開発手法、AJAX プログラミング手法に関して詳しく解説。
現場で起きている Web 2.0 的開発の最前線を紹介する、プログラマ必見の 1 冊です。