**div.inc.php [#i7142213] |RIGHT:100|LEFT:360|c |~サマリ|画面分割プラグイン、DIV版| |~リビジョン|1.1| |~対応バージョン|1.4.2| |~投稿者|[[morikawa]]| |~投稿日|&new{2004-02-05 (THU) 18:10:41};| *** 概要 [#wd4c5985] [[../splitbody.inc.php]]は table を使ってごちゃごちゃしているので、DIV版を作り直した。 左右に並べてコンテンツを表示する。だけに留まらなく、div タグ焼き直しになったかも。 - STYLE指定がいまいちよく分からんが、とりあえず IE6/Netscape7.1で確認。どのみち、style定義できるようにしたので各自ポリシーで設定すればいいか、と。 - 引数へCSSクラス名を指定可能に。- 2004-03-11 *** 動作サンプル、使い方 [#h2285a00] :| #div(start) 右側へ表示するもの #div(end) 左側へ表示するモノ #div(clear) 表示が、 左側へ表示するモノ 右側へ表示するもの という感じ。入れ子も出来るので、3つでも4つでも出来るとは思う。 *** download [#k2fb741d] %%メンテ都合上、最新は [[morikawaのサイト:http://www.tetsuo.morikawa.name/tech/pukiwiki.php?pukiwiki%2Fplugins%2Fdiv]] からどうぞ。%% -- XSS対応版添付 &ref(div.inc.php.040312); - 2004-03-12 ***コメント [#te8bab00] -[[reimy]] &new{2004-02-06 (FRI) 01:27:53}; ~MozillaとIE/Operaとで微妙に表示が異なりますね。IEやOperaでは上部がきれいに揃うけど、Mozillaでは上部が不揃いになるようです。vertical-alignを設定するとうまく揃うかも。 -[[reimy]] &new{2004-03-11 (THU) 04:34:33}; ~style指定で&color(crimson){XSSの脆弱性があり、危険です};。 --XSSのサンプル((ここでは危険性のないサンプルにしていますが、<script>タグをはじめ、あらゆるタグを挿入することが可能なため、非常に危険です。)) #div(start,width:60%"><img src="http://pukiwiki.sourceforge.jp/image/pukiwiki.png" />) test #div(end) #div(clear) ~HTMLのタグが自由に書けてしまいます。&color(crimson){[[splitbody.inc.php>../splitbody.inc.php]]にも同様のXSSの脆弱性があります};。 ~func_get_args()でプラグインに渡される引数はサニタイズされていませんので、プラグインの中でサニタイズして出力しないとXSSの脆弱性が発生します。引数を出力するプラグインでは注意が必要です。 -[[morikawa]] &new{2004-03-12 (FRI) 11:49:16}; ~reimyさんありがとうございます。 // 属性チェック $a = explode(':', $attr); - if (is_array($a) && ( $allow_styles[array_shift($a)] )) return $attr; + if (is_array($a) && ( $allow_styles[array_shift($a)] )) return htmlspecialchars($attr); -- 関連。[[morikawa memo:http://www.tetsuo.morikawa.name/m/?BLOG%2F2004-03-12%2FXSS%C2%D0%BA%F6]] ** comment [#v662e00b] -このプラグインって、現在の人のものの捉え方から逆さまなんですね。右から読む人っていますかね?素直に実装するんなら、(start)左に表示するもの。となるんだろうと思いますけどね。 -- [[upk]] &new{2004-08-28 (土) 13:32:42}; -私も同感です。今でもよく間違います :( -- [[teanan]] &new{2004-08-28 (土) 14:48:31}; -あと、「*」を使った場合、右の場合は、右半分に表示されますが、左の場合は、ずらーーっと右の部分まで表示されちゃいますね。(僕の環境だけかな?)(Windows2000Server IIS5 / Cliant WindowsXP IE6) -- [[ゴン太]] &new{2004-08-28 (土) 18:40:03}; -- [[block.inc.php>自作プラグイン/block.inc.php]]を使うと見出しがきれいに表示されましたが、入れ子にすると高さがずれてしまいました。[[Plugin/splitbody.inc.php - Sonots' PukiWiki プラグイン:http://lsx.sourceforge.jp/?Plugin%2Fsplitbody.inc.php#s5a5115d]]により入れ子でもきれいに表示されました((しかし今度は#contentsに表示されなくなります))。 -- [[moerrari]] &new{2009-11-22 (日) 22:37:30}; -ただタグを挿入しているだけなので -test #div(start) のようにすると XHTML Invalid になりますよね?たぶん。skin で div float レイアウトを使用しているサイトの場合 #div(clear) でブラウザによって挙動が変わると思うし。難しいプラグインではあると思います。 -- [[kak]] &new{2004-08-28 (土) 23:54:06}; -[[dev:PukiWiki/1.4/自作プラグイン/画面分割プラグイン]]から来ました。download先が「サーバーが見つかりません」と表示されてます。メンテ中でしょうか? -- &new{2006-02-13 (月) 19:55:37}; - これ左右を逆に出来ないんでしょうか?どうも直感的に使いにくいです。 -- [[ごまどれ]] &new{2006-04-21 (金) 08:59:58}; -- PLUGIN_DIV_DEFAULT_STYLEのところをfloat:leftにしてあげると左右逆になるよ。 -- [[マスタング]] &new{2006-06-29 (木) 21:15:56}; - 「morikawaのサイト」につながらないです -- [[がこ]] &new{2006-09-11 (月) 11:57:58}; //#comment