= 小窓の作り方 = 小窓の作り方を説明します。 == 小窓動作フロー == http://www.openpne.jp/wp-content/uploads/scp/20071008_1.png == 通常小窓 == の形式で変換される小窓が通常小窓です。 * 小窓JavaScriptのファイル名を決める www.youtube.comドメインのサービスであれば、www.youtube.com.jsとする。 ※このファイル名はurl2cmd()機能でURLマッチ用に利用する。 * main() 関数を作る ここが機能の実体部 function main(id){} とすると、 タグのargs="aaaaaa"が代入される。 * main()関数内でdocument.write()して、HTMLタグを排出すればOK. に対応する。 * www.youtube.com.jsで解説 {{{ www.youtube.com.js ------------------------------------------------------------ function main(id, width, height) { ★main(args)と関数定義する。この関数名がテンプレート側から自動的に呼ばれる if (!id.match(/^[a-zA-Z0-9_-]+$/)) { ★入力値チェックを厳しく行う。XSS脆弱性などが危険 return; } width = parseInt(width); height = parseInt(height); if (width <= 0 || width > 425) { width = 425; } if (height <= 0 || height > 350) { height = 350; } var html = ''; document.write(html); ★document.wrtie(html)で生成したHTMLタグを表示する。 } }}} {{{ 動作検証用HTML }}} == URL2CMD形式 == 特定のURLに自動反応する小窓を作成する場合は、下記の形式に従いurl2cmd(url)関数を追加する。 今回の例では http://www.youtube.com/watch?v=xxxxxxxxxxx 形式に反応。 {{{ function url2cmd(url) { ★url2cmd(url)と関数定義をする この関数名がテンプレート側から自動的に呼ばれる if (!url.match(/^http:\/\/(?:www\.|)youtube\.com\/watch\?v=([a-zA-Z0-9_-]+)/)) { ★urlが正しい形式であるかどうかをチェックする。()を使って抜き出したいID部分を囲っておく return; } var id = RegExp.$1; ★()の中身を抽出 var width = 425; var height = 350; main(id, width, height); ★通常の小窓main()関数を呼び出す } }}} == 小窓一般情報 == === 小窓のサイズ一覧 === * 日記は横幅425ピクセル * プロフィールは横幅400ピクセル * サイドバーは横幅160ピクセル * '''縦サイズは見やすさを維持している限り自由です''' === 小窓ボタンのサイズ === * 横86ピクセル※横は60~90 * 縦24ピクセル * 形式はPNG * ポップアップ先のURLを通知してください