NoteJavaScriptのAPI現状は、フレームワークにjQuery+jQueryUIを使用しています。Rollerでカスタマイズ可能です。テーマ側で読み込むフレームワークを変更することも可能です。原則的にネームスペースは、pukiwikiとなります。jQueryUI最もポピュラーなJavaScriptのフレームワークModernizr次世代規格であるCSS3の各種プロパティが有効かを検出するためのライブラリ(実際は他にもIEのHTML5対応処理、localStrageなどのモダンな機能をサポートしているかの判定にも使える。CSSを追記するだけのスクリプト思いきや意外と高機能)ExplorerCanvasIEでCanvasタグが使えるようにする。v2.1.0ミュージックプレイヤーjquery.lazyload.js画像遅延ロードjquery.query.jsQueryStrings操作jquery.superfish.jsポップアップメニュー(※)jquery.textarea.jsテキストエリアでタブ入力jquery.ui.rlightbox.js画像インラインウィンドウiepngfixIE6、IE5.5で透過PNGをサポートie-css3IEでCSS3のborder-radius、text-shadow、box-shadowをサポート(※)は、今後jQueryUIに取り込まれる可能性が高いものです。自動的に有効になる機能ボタンのデザインがjQueryUI準拠に。画像の遅延ロード(ただし、IE6未満ではPNGの場合有効にならない)IE6の透過PNGサポート(画像のみ。背景は別途指定する必要あり。以下のようにテーブルを組んだ場合、テーブルソート機能が有効になる(もちろん、Trackerも)|~タイトル1|~タイトル2|~タイトル3|h|項目1|項目2|項目3|また、10行以上の場合、ページャーが表示されます。フォーム送信時にフォームをロック添付フォームをswfuploadに切り替える(class名がattach_formになっている部分を書き換えます)ポップアップToc編集内容の自動バックアップ(ウィンドウを間違って閉じてもそれまでの編集内容がクライアントに保存されます。背景画像の透過PNGサポートインラインダイアログオーバーライド関数pukiwiki関数には、skinオブジェクトと、registerオブジェクトがあります。ここに任意の処理を入れることで、skin.jsの処理をオーバーライドさせることが可能です。swfuploadのオーバーライドこれらは、スキンスクリプトの実行直後に実行されます。スタイルシートが以下のようになっていているとします。10px;}これを、IEでも有効にしたい場合は、スキン側でbefore_init関数に入れましょう。border-radiusをサポートしているかの判定はModernizr.borderradiusで行ないます。'url('+SKIN_DIR+'js/ie-css3.htc)'});}});というように指定します。CSSにie-css3.htcで指定してもいいですが、そうすると画面内にDOMが存在していなくてもie-css3.htcが読み込まれてその都度処理が入るため、どうしても重くなります。htcは中身がJavaScriptなので、CSSで指定していてもJavaScript無効時は当然動作しません。このため、上のスクリプトで動的に読み込むようにすることを強く推奨します。スクリプトで動的にDOMを追加する場合は、init()関数内に入れましょう。以下は、xxxlogueの例です。});});$(document).ready(function(){...});との違いは、スキンの自動処理が完了したあとに実行されるという点です。sukerfishのアニメーションを変更したい場合は、pukiwiki.skin.suckerfishオブジェクトを使います。(※関数ではありません!)使えるオプションはhttp://users.tpg.com.au/j_birch/plugins/superfish/#optionsを参考にしてください。以下はxxxlogueの例です。}}非同期通信でインラインダイアログを使いたい場合:pukiwiki_skin.ajax_dialog(params,prefix,callback,parse)paramsquerystringの配列を入れます。パース関数は、jquery.query.jsを使ってください。prefix非同期通信で読み込んだHTMLのルート部分のclassあるいはidを入れます。指定方法はCSSセレクタです。id属性がnewwinの場合、#newwinと入れます。したい関数をいれます。parse送られてきたjsonデーターをパースするのに使います。jsonデータには、最終的にtitleとbodyを出力する必要があります。bodyはダイアログの中身、titleはダイアログのタイトルです。これらはハードコーディングされています。テーブルソート機能とボタンのデザイン書き換えは自動的に行われます。イベント割り当てもparse関数を使ってください。便利な変数$('link[rel=canonical]')[0].hrefこれで、ページのアドレスを取得することができます。ハッシュタグを用いたXSSが発生するおそれがあるため、window.nameや、document.URL、document.referrer、location.hrefなどは使わないでください。タブタブは、以下の様なマークアップで自動的にタブ式になります。このタブをクリックすると、そのリンク先のHTML部分のみが非同期で呼び出され、表示されます。JavaScript無効時は、単純なリンクとして機能します。href="タブ2のリンク">タブ2</a></li></ul></div>referer.inc.phpや、logview.inc.php、attach.inc.phpなどのソースを参考にするといいでしょう。Adv.?Adv.プラグインが登録されています。