‘JavaScript’ カテゴリーのアーカイブ

qooxdooのデザインコーディング

どうにかqooxdooのデザインコーディングを楽にできないかと考えているのですが、XHTML+XSLTでいい感じに書いたHTMLをまるっと変換できたらスゴくね?とか思いついた。

…タブとかどーすんだ。

VisualStudioでレイアウト組んだものを変換できたりすると嬉しいなぁー…誰かー…


qooxdooとprototype.jsでコンフリクト?

svnに上がってる最新のqooxdooではprototype.jsとコンフリクトするらしい…

とりあえず試してみないことには何とも言えませんが。

今回は0.6.1で作るからまぁいいか。

将来的にはmochikitへの移行も考えないといけないか…


qooxdoo 0.6.1 XmlHttpTransport

サーバからXML取ってきてパースする必要があったのだけど、qx.io.remote.XmlHttpTransportがどうにも動かなかったので、prototype.jsと組み合わせることにした。

<script type="text/javascript" src="../../js/prototype.js" mce_src="../../js/prototype.js"></script>
<script type="text/javascript" src="../../script/qx.js" mce_src="../../script/qx.js"></script>

とりあえず不具合は起きていない模様。

TransportのTestコードから。

req = new qx.io.remote.RemoteRequest(val.getLabel(), "GET", "text/plain");
req.addEventListener("completed", function(e)
{
 inf.setValue("Completed");
 area.setValue(e.getData().getContent());
});

↓この部分をprototype.jsで置き換え。

var myAjax = new Ajax.Request(
 val.getLabel(),
 {
  method: 'get',
  onComplete: function(e)
  {
   inf.setValue("Completed");
   area.setValue(e.responseText);
  }
});

おー、動いたー。


qooxdoo 0.6.1 Transport

qooxdoo » Demo » Test » Transport 1を実行すると、IE6でJSのエラーが出る件。

2の方はエラーでないので、Diff取って見ると、

145: req.setCrossDomain(true);

が、2ではコメントアウトされていたので、1でも外して見る。

OK、問題なし。


qooxdoo 0.6.1

結局使ってみる事に。 

コンパイルがめんどいので、ひとまずあるものそのまま使うということでやってみます。

  • qooxdoo-0.6.1-build.zipを落としてきて解凍する
  • frontendframeworkの中身をコピー
  • qx.jsを開いて、中身を../で検索して、適当な相対パスに置き換える

続きは次回。


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を使ってたので、そんな面倒もなかったのだが…

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


qooxdoo 0.6

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

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