2006 年 9 月 のアーカイブ

AjaxとContent-Type




















ローカルのサーバで作ったAjaxを、テストサーバに上げたらなぜか動かない。

ローカルでは動作確認してたので、まぁ、何かサーバに問題あるんだろうってことで調べてみたら、.jsも.xmlもMIMEがtext/plainで帰ってきてた。

うぉーい。まじすか。

とりあえず.htaccessで

AddType text/xml .xml
AddType text/javascript .js

こんな感じに設定してやったら動いた。

MIMEがちゃんと送られないと、FireFoxではXMLとして認識しないらしい。まぁ、正しい動作だと思うけど。


OperaでCDATAが残る




















Opera8.0でCDATAセクションを含むXMLをAjaxで取ってきたら、CDATAが残りっぱなし。

しかも、textかtextContentでは取れなくて、(inner|outer)(Text|HTML)でしか取れない。

Opera9.0.2にアップデートしたら直った。

その代わり、(inner|outer)(Text|HTML)では取れなくなった。つーことは、Operaはバージョンで処理振り分けなきゃいけないって事ですか。


tableとinnerHTML




















IE6でtableエレメントにinnerHTMLで<tr>~のブロックを入れられない罠。

tbodyが勝手に補完されるからだとか…

しょうがないので、tbodyをcreateElementして、そこに<tr>~のブロックをinnerHTMLで差し込んだらなぜか先頭の<tr><td>が消えるという。

とりあえずこの方法は諦めて<div>の中に<table>から書く事にして解決。


qooxdoo 0.6.1 導入前編




















とりあえず、お仕事の新しい管理画面をqooxdoo 0.6.1で作ってみようと思ってDownloadしてみた。

うげ、なんかやたらめんどくさくなってる。Cygwin入れろとか言われるし。

前に作ってたのは0.5.2を使ってたので、そんな面倒もなかったのだが…

今回はあまり時間もないので、導入ちょっと見送り。もう少し余裕のある案件で使おう。


Image_Graphでpukiwiki用レーダーチャートプラグイン




















Image_Graphでpukiwiki用レーダーチャートプラグインを作ったので、メモ。

まずPearのImage_Graphを入れる。

pear install –alldeps Image_Graph-alpha

とりあえずサンプルからコード持ってきていじる。

$Graph->add(
Image_Graph::vertical(
Image_Graph::factory('title', array('', 1)),
Image_Graph::vertical(
$Plotarea = Image_Graph::factory('Image_Graph_Plotarea_Radar'),
$Legend = Image_Graph::factory('legend'),
90
),
0
)
);

Image_Graph::verticalを使うと、縦のレイアウトが組める。第一引数と第二引数で表示する中身指定して、第三引数で第一エリアの表示領域をパーセンテージで指定する。入れ子にして自由にレイアウト組める。

とりあえず、今回タイトルもレジェンドもいらなかったので、さっくりシンプルに。

$Graph->add(
$Plotarea = Image_Graph::factory('Image_Graph_Plotarea_Radar')
);

これだけ。

あと、本来は自動で軸のスケールが決定されるけど、スケール指定したい場合はforceMaximumメソッドを使う。こんな感じ。

$AxisY =& $Plotarea->getAxis(IMAGE_GRAPH_AXIS_Y);
$AxisY->forceMaximum($axis_maximum);

ただし、スケールをはみ出す使い方はできない。値がクリップされるので、表示がおかしくなる。

あと日本語表示について。

$Font =& $Graph->addNew('font', './sazanami-gothic.ttf');

TTFのフォントをどこかに置いて、指定すればOK。ただし、ラベルはUTF-8で指定すること。

$DS1->addPoint(mb_convert_encoding('ほげ','UTF-8','EUC-JP'), 50);


qooxdoo 0.6




















とりあえず、早くなったらしい。

テーブルウィジェットが便利かも。DBのビューアとして使ったりとか。