<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>何もない場所 &#187; WEB制作</title>
	<atom:link href="http://blog.chisyamori.com/kay/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.chisyamori.com/kay</link>
	<description>──あなたの心の琴線に触れるようなものは何もないです。かといって、他の何があるわけでもないですが。</description>
	<lastBuildDate>Fri, 23 Dec 2011 21:39:39 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>ニコニコ動画のユーザーをニコニコチャートで検索するブックマークレット</title>
		<link>http://blog.chisyamori.com/kay/2010/01/16/442/</link>
		<comments>http://blog.chisyamori.com/kay/2010/01/16/442/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 06:40:51 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEB制作]]></category>
		<category><![CDATA[ブックマークレット]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=442</guid>
		<description><![CDATA[ニコニコブックマークレット第4弾。 ↓をブックマーク！ ニコニコユーザーをニコニコチャートで検索 ニコニコ動画のうｐ主の中には、全ての情報を非公開にしてる方も少なくありません。 自分のウォッチリストを眺めてて「あれ？　こ [...]]]></description>
			<content:encoded><![CDATA[<p>ニコニコブックマークレット第4弾。</p>
<p>↓をブックマーク！<br />
<a href="javascript:(function(){var d=document;try{var n=d.getElementById('WATCHLIST_INNER_PAGE');if(n){n=n.getElementsByTagName('H3');for(var i=0;i<n.length;i++){var o=d.createElement('a');o.href='http://www.nicochart.jp/name/?s='+encodeURIComponent(n[i].lastChild.lastChild.nodeValue);o.target='_blank';o.appendChild(d.createTextNode('ニコニコチャートでニックネーム検索'));n[i].appendChild(d.createTextNode('→'));n[i].appendChild(o);}}else{(d.title.match(/(.+)さんのユーザーページ/)!==null)&#038;&#038;open('http://www.nicochart.jp/name/?s='+encodeURIComponent(RegExp.$1),'_blank');}}catch(e){return;}})();">ニコニコユーザーをニコニコチャートで検索</a></p>
<p>ニコニコ動画のうｐ主の中には、全ての情報を非公開にしてる方も少なくありません。<br />
自分のウォッチリストを眺めてて「あれ？　この人はどんな動画を作ってる人だったっけ？」と思う事が多々あったので作ってみました。<br />
本当はユーザーIDから動画を検索出来るのが望ましいのですが、そのようなサービスをやってるとこを知らないので……。<br />
ウォッチリストにちょっとしたメモでも書けるように、公式で対応して欲しいところなんですけどねー。まあいいや。</p>
<p>使い方ですが、2通りあります。<br />
まず、マイページのウォッチリストを開いている状態で使った場合。<br />
各ユーザーの名前の横に「ニコニコチャートでニックネーム検索」というリンクが現れますので、そこからニコニコチャートにジャンプして下さい。<br />
また、ユーザー個別のプロフィールを開いている状態で使うと、直でニコニコチャートへ跳びます。<br />
そんだけ。</p>
<p>あっ、もしもニコニコチャート以外で、このブックマークレットの用途に合いそうなサービスを知ってる方がいらっしゃったら教えて下さいっ！</p>
<p>では～。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2010/01/16/442/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>マイリストコメントページから公開マイリスト一覧ページへジャンプするブックマークレット</title>
		<link>http://blog.chisyamori.com/kay/2009/12/16/380/</link>
		<comments>http://blog.chisyamori.com/kay/2009/12/16/380/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 10:49:59 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEB制作]]></category>
		<category><![CDATA[ブックマークレット]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=380</guid>
		<description><![CDATA[はい、ニコニコブックマークレット第3弾。 ↓をブックマーク！ マイリストコメント→公開マイリスト いつの間にか動画を開かないと公開マイリスト一覧が見られなくなっていたので。 最近、この程度の簡単なやつならちょくちょく作っ [...]]]></description>
			<content:encoded><![CDATA[<p>はい、ニコニコブックマークレット第3弾。</p>
<p>↓をブックマーク！<br />
<a href="javascript:(function(){location.href=location.href.replace('mylistcomment/video','openlist');})();">マイリストコメント→公開マイリスト</a></p>
<p>いつの間にか動画を開かないと公開マイリスト一覧が見られなくなっていたので。<br />
最近、この程度の簡単なやつならちょくちょく作っていきたいなーとか思ってるんですが、あんまりネタも無いので、もしこういうのが欲しいってのがありましたら、ブログのコメントか<a href="http://twitter.com/chisyamori" rel="external">Twitter</a>でリプライ下さい。<br />
実際に作るかどうかは判りませんが。<br />
外部jsを読み込んでやらないと動作しないようなめんどくさいのはパス。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2009/12/16/380/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ニコニコミュニティ動画から元動画へジャンプするブックマークレット</title>
		<link>http://blog.chisyamori.com/kay/2009/12/01/386/</link>
		<comments>http://blog.chisyamori.com/kay/2009/12/01/386/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 08:00:22 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEB制作]]></category>
		<category><![CDATA[ブックマークレット]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=386</guid>
		<description><![CDATA[またブックマークレット作ってみた。 ↓をブックマーク！ ニコニコミュ動画から元動画へジャンプ 記事のタイトルだけで全容を説明してしまっているので書く事が無いです。 とりあえず、起動するとジャンプする前に確認ダイアログが出 [...]]]></description>
			<content:encoded><![CDATA[<p>またブックマークレット作ってみた。</p>
<p>↓をブックマーク！<br />
<a href="javascript:(function(){Video&#038;&#038;Video.v&#038;&#038;Video.id&#038;&#038;confirm('元動画「'+Video.id+'」へ跳ぶ？')&#038;&#038;(location.href=location.href.replace(Video.v,Video.id));})();">ニコニコミュ動画から元動画へジャンプ</a></p>
<p>記事のタイトルだけで全容を説明してしまっているので書く事が無いです。<br />
とりあえず、起動するとジャンプする前に確認ダイアログが出るので、動画IDだけ確認したい場合にも使えます。</p>
<p>なんか以前にそういったニーズをTwitterのTLで見掛けた気がしたので作ってみました。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2009/12/01/386/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ニコニコ動画で現在視聴している動画のサムネイルを表示するブックマークレット</title>
		<link>http://blog.chisyamori.com/kay/2009/10/26/378/</link>
		<comments>http://blog.chisyamori.com/kay/2009/10/26/378/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 04:20:29 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEB制作]]></category>
		<category><![CDATA[ブックマークレット]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=378</guid>
		<description><![CDATA[昨日ふと思い付いてtwitterでも書いたんだけど、作ってみたので～。 ↓をブックマーク！ ニコニコサムネイル確認 ニコニコ動画で、今現在視聴している動画のサムネイルが開きます。 ブラウザの設定によってはポップアップブロ [...]]]></description>
			<content:encoded><![CDATA[<p>昨日ふと思い付いて<a href="http://twitter.com/chisyamori/status/5146125274" rel="external">twitterでも書いた</a>んだけど、作ってみたので～。</p>
<p>↓をブックマーク！<br />
<a href="javascript:(function(){Video&#038;&#038;Video.thumbnail&#038;&#038;open(Video.thumbnail)})();">ニコニコサムネイル確認</a></p>
<p>ニコニコ動画で、今現在視聴している動画のサムネイルが開きます。<br />
ブラウザの設定によってはポップアップブロックとかが働くかも知れません。<br />
サムネイル以外から動画にジャンプして、コメントで「ちょｗｗｗサムネｗｗｗｗｗｗ」とか書かれていたり「サムネ一本釣り」とかのタグが付いてて意味が判らんかった時とかに便利。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2009/10/26/378/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>はてブ関連機能の追加</title>
		<link>http://blog.chisyamori.com/kay/2009/06/28/318/</link>
		<comments>http://blog.chisyamori.com/kay/2009/06/28/318/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 06:58:27 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[WEB制作]]></category>
		<category><![CDATA[ワードプレス]]></category>
		<category><![CDATA[雑記]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=318</guid>
		<description><![CDATA[各記事にはてなブックマークのボタンを設置し、被ブクマ数が出るようにしてみました。 被ブクマ数は、なんかOperaだと画像が出てこない場合が……。widthとheightを指定していないのが原因だとは思うんだけど、これ無理 [...]]]></description>
			<content:encoded><![CDATA[<p>各記事にはてなブックマークのボタンを設置し、被ブクマ数が出るようにしてみました。<br />
被ブクマ数は、なんかOperaだと画像が出てこない場合が……。widthとheightを指定していないのが原因だとは思うんだけど、これ無理だよねー。横幅は取得する画像によって変わるので。<br />
まあ、間にスクリプトをかませばどうにかなりそうだけど……。<br />
そーゆーのはまた今度。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2009/06/28/318/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>固定幅でセンタリングされた要素の横にタブ風メニューをくっ付けるCSS</title>
		<link>http://blog.chisyamori.com/kay/2009/01/23/224/</link>
		<comments>http://blog.chisyamori.com/kay/2009/01/23/224/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 15:38:24 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[WEB制作]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=224</guid>
		<description><![CDATA[個人的にはリキッドデザインの方が好きなんですけどね。 ウィンドウをリサイズした時、ウィンドウではなく固定幅でセンタリングされたコンテンツに追随するようにメニューだのバナーだのをくっ付ける方法をば。 とりあえず以下の3点、 [...]]]></description>
			<content:encoded><![CDATA[<p>個人的にはリキッドデザインの方が好きなんですけどね。</p>
<p>ウィンドウをリサイズした時、ウィンドウではなく<strong>固定幅でセンタリングされたコンテンツに追随するように</strong>メニューだのバナーだのをくっ付ける方法をば。</p>
<p>とりあえず以下の3点、</p>
<ul>
<li>validなCSSである事</li>
<li>CSSハックを使わない</li>
<li>IE6にも対応させる</li>
</ul>
<p>これを前提で。<br />
↓サンプルソース</p>
<p><code>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;<br />
&lt;html lang=&quot;ja&quot;&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;<br />
&lt;meta http-equiv=&quot;Content-Style-Type&quot; content=&quot;text/css&quot;&gt;<br />
&lt;title&gt;タブメニューサンプル&lt;/title&gt;<br />
&lt;style type=&quot;text/css&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;div#main_contents {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:600px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height:1000px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin:0 auto;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color:#ddd;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;div#menu {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>height:0;</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>position:relative;</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;div#menu ul {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin:0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding:0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>width:3em;</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>position:absolute;</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>left:-3em;</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;div#menu ul li {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list-style-type:none;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color:#ddf;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin:2px 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding:0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id=&quot;main_contents&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=&quot;menu&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;いち&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;にぃ&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;さん&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;よん&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ほにゃららら。<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p>
<p>強調部分がポイント。応用利かせれば右側に引っ付ける事も出来ますね。IE6を無視すればもうちょい簡単に出来ますが……。</p>
<p><a href='http://blog.chisyamori.com/kay/wp-content/files/2009/01/tab_menu.html' rel="external">タブメニューサンプル</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2009/01/23/224/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPressアップデートしました。</title>
		<link>http://blog.chisyamori.com/kay/2008/10/26/157/</link>
		<comments>http://blog.chisyamori.com/kay/2008/10/26/157/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 13:50:38 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[WEB制作]]></category>
		<category><![CDATA[ワードプレス]]></category>
		<category><![CDATA[雑記]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=157</guid>
		<description><![CDATA[WordPress2.6.3日本語版にアップデートしてみました。 何か不具合があれば教えていただけるとありがたいです。 今のところ、管理画面のjavascript周りで文字化けが……。＾＾；]]></description>
			<content:encoded><![CDATA[<p>WordPress2.6.3日本語版にアップデートしてみました。<br />
何か不具合があれば教えていただけるとありがたいです。</p>
<p>今のところ、管理画面のjavascript周りで文字化けが……。＾＾；</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2008/10/26/157/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>object要素による代替インラインフレームにjavascriptでアクセスしてみる</title>
		<link>http://blog.chisyamori.com/kay/2006/10/28/67/</link>
		<comments>http://blog.chisyamori.com/kay/2006/10/28/67/#comments</comments>
		<pubDate>Fri, 27 Oct 2006 19:46:08 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEB制作]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=67</guid>
		<description><![CDATA[各ブラウザで、documentオブジェクトへは、以下のような感じでアクセスできる。 ※インラインフレームを「name=&#8221;child&#8221; id=&#8221;iframe_object&#8221;」 [...]]]></description>
			<content:encoded><![CDATA[<p>各ブラウザで、documentオブジェクトへは、以下のような感じでアクセスできる。</p>
<p>※インラインフレームを「name=&#8221;child&#8221; id=&#8221;iframe_object&#8221;」で定義したとする。</p>
<p>■Opera9.02<br />
document.getElementById(&#8220;iframe_object&#8221;).documentでアクセス可能。</p>
<p>■Firefox2.0<br />
child.documentでアクセス可能。</p>
<p>■IE6<br />
document.getElementById(&#8220;iframe_object&#8221;).document、child.documentのどちらでもアクセス可能。（===の比較で同定出来る）</p>
<p>ここで問題になるのがOperaの場合。IE、Firefoxはchildがグローバル（インラインフレームのwindowオブジェクト）という事になりますが、じゃあOperaの時のグローバルはどこよ？　という話で。</p>
<p>実はOperaでも、iframe要素によるインラインフレームの場合だと、要素のname属性で指定した名前で親のスクリプトからインラインフレームのwindowオブジェクトへアクセス可能なんですね。<br />
しかも、object要素の場合でも親の方のwindowオブジェクトのメンバでちゃんと名前空間が確保されてる。<br />
「window.(name属性で指定した値)」を参照するとundefindではなく<strong>null</strong>を返します。<br />
これはなんなんですかねー。あえてこういう仕様にしてるとも取れるなあ……。</p>
<p>まあ実際、object要素でHTML文書を指定した場合はあくまで文書を埋め込むんであって、ウィンドウを埋め込むわけじゃないですからねえ……。<br />
とはいえ、親のスクリプトから見た時にフレーム内のグローバルが行方不明になるというのもどーかと……。</p>
<p>でまあ、苦肉の策で、インラインフレーム側のスクリプトにこんな感じの記述を入れておく事で親のスクリプトからインラインフレームのグローバルへアクセスする事は出来ます。</p>
<pre>
parent[window.name] = window;
</pre>
<p>実際は、場合や環境によってインラインフレーム側のスクリプトが先に読み込まれるかも知れないので、各フレーム間でもうちょい厳密な同期処理を入れといた方がいいのかも知れない。（いらないのかも知れない）<br />
事実、簡単なテストをしたところ、Operaの場合は親のスクリプトが先に実行され、Firefoxの場合は子のスクリプトが先に実行されるという現象を確認しました。これが上記の記述に影響するかどうかは未検証ですが。（そんくらい検証しとけよという話も）</p>
<p>んでまあ、最終的に何が言いたいかというと、もっとスマートに子フレームのグローバルにアクセスできる方法があれば誰か教えて下さい。orz</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2006/10/28/67/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IEでウィンドウをフラットにする</title>
		<link>http://blog.chisyamori.com/kay/2006/08/16/64/</link>
		<comments>http://blog.chisyamori.com/kay/2006/08/16/64/#comments</comments>
		<pubDate>Tue, 15 Aug 2006 20:34:15 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEB制作]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=64</guid>
		<description><![CDATA[winIEのhtml要素は、デフォルトでボーダーを持っています。 なので、 html {border:0;} などとしてやると、閲覧領域の凹みが無くなり、フラットな表示になります。 ……とここまでならなんて事の無い小技で [...]]]></description>
			<content:encoded><![CDATA[<p>winIEのhtml要素は、デフォルトでボーダーを持っています。<br />
なので、</p>
<pre>html {border:0;}</pre>
<p>などとしてやると、閲覧領域の凹みが無くなり、フラットな表示になります。</p>
<p>……とここまでならなんて事の無い小技ですが、javascriptでイベントを扱ったりすると、これが思わぬ動作に繋がる事があります。<br />
というのも、IEではdocument.documentElement.clientWidth(clientHeight)は内容領域（CSSのwidth、height）の値を返しますが、event.clientX(clientY)はボーダーまでを含めた座標を返します。ぶっちゃけ、html要素に何も指定しない場合だと2pxほどずれます。<br />
clientWidthをoffsetWidthとかに変えても無駄です。スクロールバーは幅に含まれますが、相変わらずボーダーは含まれません。<br />
しかもIEは、標準準拠モードと互換モードでdocumentElement周りの挙動が変わるらしく、加えて他のブラウザへの対応も考えると、もう何がなんだかわかりません。誰か助けて下さい。（←エントリの趣旨が変わってきている）</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2006/08/16/64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>javascriptの俺様用メモ</title>
		<link>http://blog.chisyamori.com/kay/2006/06/03/49/</link>
		<comments>http://blog.chisyamori.com/kay/2006/06/03/49/#comments</comments>
		<pubDate>Fri, 02 Jun 2006 17:58:18 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WEB制作]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=49</guid>
		<description><![CDATA[IEで obj.style.backgroundColor = &#8220;transparent&#8221;; が効かね。 obj.style.backgroundColor = &#8220;&#8221;; だ [...]]]></description>
			<content:encoded><![CDATA[<p>IEで</p>
<p>obj.style.backgroundColor = &#8220;transparent&#8221;;</p>
<p>が効かね。</p>
<p>obj.style.backgroundColor = &#8220;&#8221;;</p>
<p>だと透明色になるみたい。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2006/06/03/49/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pukiwikiのスパム対策</title>
		<link>http://blog.chisyamori.com/kay/2006/05/05/44/</link>
		<comments>http://blog.chisyamori.com/kay/2006/05/05/44/#comments</comments>
		<pubDate>Fri, 05 May 2006 09:39:35 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WEB制作]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=44</guid>
		<description><![CDATA[最近OekakiBBS Wikiの方でスパム投稿がひどくて困ってたんですが、このほどスパム対策を施してみました。 なんか、マルチバイト文字を含まない投稿を弾くというのが結構効くらしい、という事で、trackerプラグイン [...]]]></description>
			<content:encoded><![CDATA[<p>最近<a href="http://kay.chisyamori.com/oekaki/wiki/" rel="outside">OekakiBBS Wiki</a>の方でスパム投稿がひどくて困ってたんですが、このほどスパム対策を施してみました。<br />
なんか、マルチバイト文字を含まない投稿を弾くというのが結構効くらしい、という事で、trackerプラグインを改造して実装してみる事に。<br />
trackerプラグインから投稿があった時に、以下の処理を実行します。</p>
<p><span id="more-44"></span></p>
<pre>    //KAY追加部分
    $flag = true;
    $str_tmp = $post["_name"] . $post["name"] . $post["url"] . $post["body"];
    $n = strlen($str_tmp);
    for($i = 0; $i &lt; $n; $i++) {
        if(ord(substr($str_tmp, $i, 1)) &gt;= 0x80) {
            $flag = false;
            break;
        }
    }
    if($flag) {
        return array(
            'msg'=&gt;'cannot write',
            'body'=&gt;'error.'
        );
    }
    //KAY追加部分ここまで</pre>
<p>$postというのはPOSTで渡ってきたデータらしいです。やり方としては、これで合ってるんだろうか。<br />
ちょい様子見～。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2006/05/05/44/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>テンプレートクラス</title>
		<link>http://blog.chisyamori.com/kay/2006/04/30/43/</link>
		<comments>http://blog.chisyamori.com/kay/2006/04/30/43/#comments</comments>
		<pubDate>Sun, 30 Apr 2006 08:06:39 +0000</pubDate>
		<dc:creator>KAY</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WEB制作]]></category>

		<guid isPermaLink="false">http://blog.chisyamori.com/kay/?p=43</guid>
		<description><![CDATA[簡素なPHPのテンプレートクラス。置換、ループ、ifが使えます。 class template { var $pieces; //テンプレート。ファイル名か、あるいは文字列そのものを配列で格納する。 var $dir;  [...]]]></description>
			<content:encoded><![CDATA[<p>簡素なPHPのテンプレートクラス。置換、ループ、ifが使えます。</p>
<p><span id="more-43"></span></p>
<pre>class template {
    var $pieces;               //テンプレート。ファイル名か、あるいは文字列そのものを配列で格納する。
    var $dir;                  //テンプレートが置かれているディレクトリ
    var $assigns;              //置換文字列バッファ
    var $if;                   //ifバッファ
    var $loops;                //ループバッファ
    var $loop;                 //カレントのループ
    var $exit = true;          //flushした時点でスクリプトを終了させるかどうか。
    var $ret_str = false;      //flushした時に出力を行わず、文字列を返す場合はtrue

    //コンストラクタ
    function template($list, $dir = "./") {
        $this-&gt;pieces = $list;
        $this-&gt;dir = $dir;
        $this-&gt;assigns = array();
        $this-&gt;if = array();
        $this-&gt;loops = array();
    }

    //改行コードを統一
    function CR($str) {
        $str = str_replace("\\r\\n", "\\n", $str);
        $str = str_replace("\\r", "\\n", $str);
        return $str;
    }

    //ループの定義
    function set_loop($loop) {
        $this-&gt;loop = $loop;
        $this-&gt;loops[$loop] = array();
    }

    //割り当て
    function assign($name, $value) {
        $this-&gt;loops[$this-&gt;loop][$name][] = $value;
    }

    //出力
    function flush() {
        $html = "";

        //ファイルの読み込み
        foreach($this-&gt;pieces as $val) {
            $file = $this-&gt;dir . ((substr($this-&gt;dir, -1) == "/")? "": "/") . $val;
            if(file_exists($file)) {
                $html .= file_get_contents($file);
            } else {
                $html .= $val;
            }
        }
        $html = $this-&gt;CR($html);

        //if処理
        preg_match_all("/%if:(.+?)%/", $html, $match);
        foreach($match[1] as $val) {
            $html = preg_replace("/\\s*%if:" . $val . "%(.*?)\\s*%endif:" . $val . "%/s", (isset($this-&gt;if[$val]) &#038;&#038; $this-&gt;if[$val])? "$1": "", $html);
        }

        //ループ処理
        foreach($this-&gt;loops as $key =&gt; $val) {
            preg_match("/\\s*%loop:" . $key . "%(.*?)\\s*%next:" . $key . "%/s", $html, $matches);

            $names = array_keys($val);
            $values = array_values($val);
            array_walk($names, create_function('&#038;$names', '$names = "%" . $names . "%";'));

            $inner = "";
            $n = count(isset($values[0])? $values[0]: array());
            while($n--) {
                foreach($values as $key2 =&gt; $val2) {
                    $replace[$key2] = array_shift($values[$key2]);
                }
                $inner .= str_replace($names, $replace, $matches[1]);
            }

            $html = preg_replace("/\\s*%loop:" . $key . "%.*?\\s*%next:" . $key . "%/s", $inner, $html);
        }

        //置換処理
        foreach($this-&gt;assigns as $key =&gt; $val) {
            $html = str_replace("%" . $key . "%", $val, $html);
        }

        if($this-&gt;ret_str) { return $html; } else { echo $html; }
        if($this-&gt;exit) { exit(); }
    }
}</pre>
<p>●使い方</p>
<pre>$tmpl = new template(array("header.html", "hoge.html"), "template");</pre>
<p>でインスタンスを作成します。第一引数は配列なので、複数のファイル名を指定できます。<br />
最終的には配列の順番で各ファイルは結合されて出力されます。</p>
<pre>$tmpl-&gt;flush();</pre>
<p>でテンプレートを出力します。</p>
<pre>$tmpl-&gt;pieces[1] = "foo.html";</pre>
<p>のようにして後からテンプレートファイルを差し替える事も可能。<br />
第二引数はテンプレートファイルが置かれたディレクトリを指定します。最後の「/」はあっても無くても構いません。<br />
絶対指定でもカレントからの相対指定でも可。省略した場合はカレントのディレクトリからファイルを探します。</p>
<p>○置換</p>
<pre>※テンプレート側の記述
&lt;input type="text" name="hogege" value="%val%"&gt;

※スクリプト側の記述
$tmpl-&gt;assigns["val"] = "hogehoge";

●結果
&lt;input type="text" name="hogege" value="hogehoge"&gt;</pre>
<p>○ループ</p>
<pre>※テンプレート側の記述
&lt;ul&gt;
%loop:list%
    &lt;li&gt;%name%&lt;/li&gt;
%next:list%
&lt;/ul&gt;

※スクリプト側の記述
$arr = array("hoge", "foo", "bar");
$tmpl-&gt;set_loop("list");
foreach($arr as $val) {
    $tmpl-&gt;assign("name", $val);
}

●結果
&lt;ul&gt;
    &lt;li&gt;hoge&lt;/li&gt;
    &lt;li&gt;foo&lt;/li&gt;
    &lt;li&gt;bar&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>○if</p>
<pre>※テンプレート側の記述
&lt;h1&gt;見えるかな？&lt;/h1&gt;
%if:message%&lt;p&gt;見えてますね？&lt;/p&gt;%endif:message%
&lt;p&gt;どうでしょう。&lt;/p&gt;

※スクリプト側の記述
$tmpl-&gt;if["message"] = true;

●結果
&lt;h1&gt;見えるかな？&lt;/h1&gt;
&lt;p&gt;見えてますね？&lt;/p&gt;
&lt;p&gt;どうでしょう。&lt;/p&gt;

※スクリプト側の記述
$tmpl-&gt;if["message"] = false;

●結果
&lt;h1&gt;見えるかな？&lt;/h1&gt;
&lt;p&gt;どうでしょう。&lt;/p&gt;</pre>
<p>ifはtrue以外は常に非表示となるので、表示させる時だけtrueを指定する、という感じでいいと思います。</p>
<p>デフォルトではflush()を実行した時点でスクリプトが終了してしまいます。</p>
<pre>$tmpl-&gt;exit = false;</pre>
<p>とするとflush()後もスクリプトは続行します。<br />
また、</p>
<pre>$tmpl-&gt;ret_str = true;</pre>
<p>とすると出力を行わず、結果を文字列として返します。</p>
<pre>$tmpl-&gt;ret_str = true;
$html = $tmpl-&gt;flush();</pre>
<p>でflush()の結果が$htmlに代入されます。ちなみに、ret_strがtrueの場合、exitがtrue（デフォルト）でもスクリプトは終了しません。</p>
<p>あと、CR()は改行を「\n」に置換します。便利なので何かっつーと</p>
<pre>$str = template::CR($str);</pre>
<p>みたいな感じで使ってます。</p>
<p>う～ん、説明すべき部分はこんなもんかなあ。なんか、ループを入れ子に出来るようにしようと思ったんだけど、脳が沸騰しそうになったのでやめた。<br />
あーループといえば、ほんとはこれもメソッドじゃなくて配列だけでプロパティとして扱いたかったんだよなあ……。いや、現時点の仕様でもそういう風に扱えるんだけど。<br />
あまりに多次元すぎて逆に判りにくいかなと。で、配列を意識しなくて済むようにメソッドを実装しました……。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chisyamori.com/kay/2006/04/30/43/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

