シリーズ「WEBサイトの構造を考える」にしようかと思いましたが、今回は自作のプラグインの紹介及び「教えてエロい人!」的な内容なのでシリーズからはずしました。
さて、今回紹介するのは僕がぼちぼち作ってきたjQueryのプラグイン、jquery.ajaxslt.jsです。「もうすでに同じ機能のプラグインが***によって公開されてるよ?」とかあったとしてもそういうツッコミは無しです。この手のプラグインは乱立とかビビッてたら何も出来ないのでねー
あ、そうそう、とりあえず一言。
「jQuery本家サイトのデザインが変わりすぎててワロタwwwww」
Be a Javascript ROCK STARってなんやねんwwwww
あまりにも変わりすぎてて一瞬フィッシングサイトかと思ってしまったじゃないか・・・
それはさておき、プラグインの紹介紹介っと。
このプラグインの機能は
「XMLとXSLをAjax的に取得し、XSLTを適応してHTMLへ埋め込む」
という一連の動作を非常に容易にするというものです。なんか2005年くらいにググル先生がajaxsltパッケージみたいなの作ってたような気もするんですが、気にしない気にしない。
今のところ下記のようなインターフェースで構築しています。
$(#~).ajaxslt({
xml : {
doc : xmlDocument,
method : methodType,
data : requestData
},
xsl : {
doc : xslDocument,
method : methodType,
data : requestData
},
option : {
asynchronous : asynchronousFlag,
onSuccess : onSuccessFunction,
onFailure : onFailureFunction,
onComplete : onCompleteFunction
}
});
また、ドキュメントを前もって取得し、ストックする関数も用意しました
xmlDocument or Msxml2.FreeThreadedDOMDocument = jQuery.ajaxslt.stock({
doctype : documentType,
URL : documentURL,
method : methodType,
data : requiestData,
asynchronous : asynchronousFlag
});
prototype.jsなどのパクリインターフェースなんですが、何がエレガントで何がダサいのか分からなくなってきたので、「これでいいのかな???」という状態です。
一応このまま上記仕様の説明をすると
■ $(#~).ajaxslt()
| x[ms]lDocument | DocumentURL, XMLDocument | 通常はドキュメントのロード先URLを記述します。 ただし、ここでjQuery.ajaxslt.Stock()で生成したXMLDocumentをここで指定するとロードは行われずにメモリにストックされているドキュメントが適応されます。XSLファイルの使いまわしをする際はいちいちロードせずにストックしたドキュメントを使用するほうがよいでしょう。 |
| methodType | get, post (default:get) | リクエストのタイプ |
| requestData | 任意の文字列 | GETパラメータまたはPOST時の送信データをセットします |
| asynchronousFlag | true, false (default:true) | 非同期/同期のフラグ |
| on*** | function | それぞれの状況で実行される関数を指定 |
■ jQuery.ajaxslt.stock()
| documentType | xml, xsl | ロードするドキュメントのタイプ |
| documentURL | Document URL | ドキュメントのURL |
| methodType | get, post (default:get) | リクエストのタイプ |
| requestData | 任意の文字列 | GETパラメータまたはPOST時の送信データをセットします |
| asynchronousFlag | true, false (default:false) | 非同期/同期のフラグ |
こんな感じです。まぁありがちな仕様なのですが、今行き詰っている点は
- インターフェースってこれでいいのか?
- IEでXSLをPOSTで取得する方法がわからない
上記2点、教えてエロい人!

|