<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>ウェブル &#187; Browser</title>
	<atom:link href="http://kezy.org/category/browser/feed" rel="self" type="application/rss+xml" />
	<link>http://kezy.org</link>
	<description>なかなか就職できない PHP + MySQL 時々 Javascript を弄る20才</description>
	<lastBuildDate>Tue, 27 Jul 2010 02:39:42 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/category/browser/feed" />
		<item>
		<title>IE6 では li の中にブロック化した要素を入れると改行が発生するバグがある</title>
		<link>http://kezy.org/2009/06/23/ie6-li-block</link>
		<comments>http://kezy.org/2009/06/23/ie6-li-block#comments</comments>
		<pubDate>Tue, 23 Jun 2009 14:28:54 +0000</pubDate>
		<dc:creator>Sorai</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://kezy.org/?p=2220</guid>
		<description><![CDATA[以下のように記述すると IE6 でだけ無駄な改行が発生します。いつもながら独自の世界を駆け抜ける IE シリーズには楽しませていただいております。

1
2
3
4
&#60;ul&#62;
&#60;li&#62;&#60;sp<p><a href="http://kezy.org/2009/06/23/ie6-li-block" class="excerpt_more">...続きを読む</a></p>]]></description>
			<content:encoded><![CDATA[<p>以下のように記述すると IE6 でだけ無駄な改行が発生します。いつもながら独自の世界を駆け抜ける IE シリーズには楽しませていただいております。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;display:block;&quot;</span>&gt;</span>テキストA<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;display:block;&quot;</span>&gt;</span>テキストB<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></pre></td></tr></table></div>

<p>解決策は一つ目が以下のように HTML を書く段階で改行させない方法。まぁ IE6 のために時間を潰すのは面倒なので、とりあえず一応以下のように書いた方法だけで正常に表示されるのを確認しました。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;display:block;&quot;</span>&gt;</span>テキストA<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;display:block;&quot;</span>&gt;</span>テキストB<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></pre></td></tr></table></div>

<p>あと二つ目は li に padding: 1px; を指定する方法です。隙間が入ってうまい具合にデザインできないのでイライラしますねー。</p>
<p>私は個人制作では IE6 で li の中にブロック化した要素が入っているコンテンツは非表示にします。もしくは放置します。たぶん IE6 を使っている人はこのブログを読んだりしないと思うし、IE6 をバリバリ使ってる人に読んで欲しいとも思わないーなんてことを思ってるわけでもないですが…(笑) 心の奥底では思ってるかもしれませんね…。</p>
]]></content:encoded>
			<wfw:commentRss>http://kezy.org/2009/06/23/ie6-li-block/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/2009/06/23/ie6-li-block" />
	</item>
		<item>
		<title>IE5.5 IE6 IE7 IE8 の確認が同時にできるアプリケーション IETester</title>
		<link>http://kezy.org/2009/06/22/ietester</link>
		<comments>http://kezy.org/2009/06/22/ietester#comments</comments>
		<pubDate>Mon, 22 Jun 2009 13:55:01 +0000</pubDate>
		<dc:creator>Sorai</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IETester]]></category>

		<guid isPermaLink="false">http://kezy.org/?p=2206</guid>
		<description><![CDATA[IETester は IE5.5 IE6 IE7 IE8 を同時に確認できるアプリケーションです。IE6 で表示確認するためにわざわざ XP を起動したりする必要もこれでなくなります。
IETester をダウンロード
<p><a href="http://kezy.org/2009/06/22/ietester" class="excerpt_more">...続きを読む</a></p>]]></description>
			<content:encoded><![CDATA[<p>IETester は IE5.5 IE6 IE7 IE8 を同時に確認できるアプリケーションです。IE6 で表示確認するためにわざわざ XP を起動したりする必要もこれでなくなります。</p>
<p><a href="http://www.my-debugbar.com/wiki/IETester/HomePage">IETester をダウンロード</a></p>
<p>これがなければ IE6 と IE7 を同時に PC 内で起動したり、IE6 の入った PC を別で起動したり、IE5.5 での表示確認は諦めたりといろいろ大変なことばかりだったと思います。これで IE の脅威を半分くらいに抑えられますね。</p>
<p>ちなみに更新をするとページが表示されなくなったり、一定時間たつとエラーで終了してしまったりといろいろ問題もあるみたいなので、完璧とは言えないです。でも少しずつ Web 全体も進化してきてるみたいで毎日が楽しいですねぇ。自分も早く人の役に立つものを作って、世界をよりよくしたいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://kezy.org/2009/06/22/ietester/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/2009/06/22/ietester" />
	</item>
		<item>
		<title>IE で border を指定した時に線と線が繋がるのを防ぐ方法</title>
		<link>http://kezy.org/2009/05/29/ie-border</link>
		<comments>http://kezy.org/2009/05/29/ie-border#comments</comments>
		<pubDate>Fri, 29 May 2009 03:56:35 +0000</pubDate>
		<dc:creator>Sorai</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[border]]></category>
		<category><![CDATA[dashed]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://kezy.org/?p=2108</guid>
		<description><![CDATA[IE では border で 1px の点線を引くと、スクロールしたりしたときに線と線がくっついて見栄えが悪くなってしまうことがあります。私は Firefox では問題なく表示されるし、たまにしか表示されないので気にして<p><a href="http://kezy.org/2009/05/29/ie-border" class="excerpt_more">...続きを読む</a></p>]]></description>
			<content:encoded><![CDATA[<p>IE では border で 1px の点線を引くと、スクロールしたりしたときに線と線がくっついて見栄えが悪くなってしまうことがあります。私は Firefox では問題なく表示されるし、たまにしか表示されないので気にしていなかったのですが、今日お客さんから直してくれと頼まれたので直すことになりました。</p>
<p>わざわざくっつかない線を表示するために画像を使うのは嫌なので、CSS でなんとか出来る方法を探していたら以下の方法を発見しました。<br />
<a href="http://www.happy-crossing.com/tagmemo/log/eid6.html">タグメモのカケラ | IEで、ボーダーがうまく表示されない</a></p>
<p>点線を指定している id や class に対して position: relative を指定すると良いそうです。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">hoge <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1px</span> <span style="color: #cc00cc;">#dddddd</span> <span style="color: #993333;">dashed</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>でも私の環境では何も解決されませんでした。解決できなかった人は border を 2px にしたりすると解決されますのでいろいろ試してみるのも良いかもしれませんね。何か他にも方法があったら教えてほしいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://kezy.org/2009/05/29/ie-border/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/2009/05/29/ie-border" />
	</item>
		<item>
		<title>IE6 には box の中で float を使うと背景画像が正しく表示できないバグがある</title>
		<link>http://kezy.org/2009/03/26/ie6-box-float-bug</link>
		<comments>http://kezy.org/2009/03/26/ie6-box-float-bug#comments</comments>
		<pubDate>Thu, 26 Mar 2009 09:07:22 +0000</pubDate>
		<dc:creator>Sorai</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[float]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://kezy.org/?p=1660</guid>
		<description><![CDATA[IE6 には box の中で float を使うと背景画像が欠けてしまったり、ずれて表示してしまうなどのバグがありますです。このバグは box に width を指定することによって解決できるようです。
]]></description>
			<content:encoded><![CDATA[<p>IE6 には box の中で float を使うと背景画像が欠けてしまったり、ずれて表示してしまうなどのバグがありますです。このバグは box に width を指定することによって解決できるようです。</p>
]]></content:encoded>
			<wfw:commentRss>http://kezy.org/2009/03/26/ie6-box-float-bug/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/2009/03/26/ie6-box-float-bug" />
	</item>
		<item>
		<title>Internet Explorer 8 をアンインストールする方法</title>
		<link>http://kezy.org/2009/03/23/internet-explorer-8</link>
		<comments>http://kezy.org/2009/03/23/internet-explorer-8#comments</comments>
		<pubDate>Mon, 23 Mar 2009 03:39:49 +0000</pubDate>
		<dc:creator>Sorai</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[VISTA]]></category>

		<guid isPermaLink="false">http://kezy.org/?p=1627</guid>
		<description><![CDATA[普通のプログラムのようにアンインストールすることができませんでした。
VISTAの場合なら、コントロールパネル→プログラム→インストールされた更新プログラムを表示→Windows Internet Explorer 8を<p><a href="http://kezy.org/2009/03/23/internet-explorer-8" class="excerpt_more">...続きを読む</a></p>]]></description>
			<content:encoded><![CDATA[<p>普通のプログラムのようにアンインストールすることができませんでした。<br />
VISTAの場合なら、コントロールパネル→プログラム→インストールされた更新プログラムを表示→Windows Internet Explorer 8を選択してアンインストールできます。</p>
]]></content:encoded>
			<wfw:commentRss>http://kezy.org/2009/03/23/internet-explorer-8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/2009/03/23/internet-explorer-8" />
	</item>
		<item>
		<title>初めて Cookie を PHP や Javascript で送信したり削除してサイトをパワーアップ</title>
		<link>http://kezy.org/2009/03/19/cookie</link>
		<comments>http://kezy.org/2009/03/19/cookie#comments</comments>
		<pubDate>Thu, 19 Mar 2009 04:55:54 +0000</pubDate>
		<dc:creator>Sorai</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[Cookie]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[setcookie]]></category>

		<guid isPermaLink="false">http://kezy.org/?p=1596</guid>
		<description><![CDATA[Google で「カロリー」と検索すると検索結果の2番目に出てくる驚異的な個人サイト「食品の摂取カロリー計算」は知らない人はいないほどカロリー系のサイトの中では有名です。このサイトを見習って、私のサイトにもカロリー計算コ<p><a href="http://kezy.org/2009/03/19/cookie" class="excerpt_more">...続きを読む</a></p>]]></description>
			<content:encoded><![CDATA[<p>Google で「カロリー」と検索すると検索結果の2番目に出てくる驚異的な個人サイト「<a href="http://homepage2.nifty.com/WM/calorie.htm">食品の摂取カロリー計算</a>」は知らない人はいないほどカロリー系のサイトの中では有名です。このサイトを見習って、私のサイトにもカロリー計算コーナーを設置したいと思います。<span id="more-1596"></span></p>
<p>食品の摂取カロリー計算では Javascript を使用してカロリーの計算を実現しているようですが、私は <a href="http://e-words.jp/w/Cookie.html">Cookie</a> を使って<a href="http://c-list.net/">カロリーデータベース</a>に計算フォームを付けることにしました。</p>
<p>でも Cookie を使うのは初めてなので、いろいろと勉強してみました。一応以下のページにすべてまとめてありますが、詳しく掘り下げて知ろうと思うとこのページだけではダメなので、それを以下にまとめました。<br />
<a href="http://www.tohoho-web.com/wwwcook.htm">とほほのCookie入門</a></p>
<h3>Cookie には制限がある</h3>
<blockquote><p>1つのクッキーに保存できるのは最大で4096バイト、1台のサーバが同じコンピュータに対して発行できるクッキーの数は20個という制限が設けられています。</p></blockquote>
<p><a href="http://nyx.pu1.net/practice/cookie/cookie1.html">PHPスクリプト講座：クッキーについて &#8212; そふぃのphp入門</a>より抜粋。</p>
<p>ここで疑問が。以下のどれが正解かわからなくなりました。</p>
<ol>
<li>サーバーは20個発行したら、それ以上は発行できなくなる。</li>
<li>サーバーは20個発行した後、21個目を1個目を削除し発行する。</li>
<li>ブラウザは同一サーバーから20個 Cookie を受け取ったら、それ以上受け取れなくなる。</li>
<li>ブラウザは同一サーバーから20個 Cookie を受け取ったら、21個目を1個目を削除して受け取る。</li>
</ol>
<p>もし1と2のどちらかが正解の場合は、共有のレンタルサーバーを使っている人には、事実上 Cookie を使えないということになり、Cookie はちゃんとしたサイトじゃないと使えなくなってしまう。そしてもし3が正解だったら最初に20個発行したもの勝ちになってしまうので絶対違う。</p>
<p>消去法で行くと4つ目の解釈で正しいと思うんですが、今の私にははっきりとした正解はわかりません。<br />
でもとりあえず同じサーバー内の人のサイトには、そう簡単にめぐり合うことはないと思うので大丈夫だと思います。このまま Cookie について勉強していきます。</p>
<h3>Cookie を送信する</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$name</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'名前'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'値'</span><span style="color: #339933;">;</span>
<span style="color: #990000;">setcookie</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #339933;">,</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>単純にこのような形で送信できます。でも先ほど書いたように同一サーバーから20個しかCookieを送信することはできないので、できるだけ最小限の個数で抑えるために配列を使ったりするのが一般的みたいです。<br />
<a href="http://jp.php.net/setcookie">PHP: setcookie &#8211; Manual</a><br />
<a href="http://nyx.pu1.net/practice/cookie/cookie6.html">PHPスクリプト講座：配列を利用したクッキー &#8212; そふぃのphp入門</a></p>
<h3>Javascript を使ってクッキーを送信する</h3>
<p>PHP では &lt;html&gt; より前の部分でクッキーの送信などをしなければいけないので、訪問者にページの表示が完了してから Cookie を送信させるには PHP では不可能です。ということで自ずとJavascript を使うことになるみたいです。Javascript はめちゃくちゃ扱いにくいから、ここ本気出して考えました。</p>
<p>まずは<a href="http://www.red.oit-net.jp/tatsuya/java/cookie.htm">イヌでもわかるJavaScript講座</a>で紹介されているスクリプトをそのまま使ってみるパターン。このサイトはかなり役に立ちました。感謝！</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> mySetCookie<span style="color: #009900;">&#40;</span>myCookie<span style="color: #339933;">,</span>myValue<span style="color: #339933;">,</span>myDay<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   myExp <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   myExp.<span style="color: #660066;">setTime</span><span style="color: #009900;">&#40;</span>myExp.<span style="color: #660066;">getTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>myDay<span style="color: #339933;">*</span><span style="color: #CC0000;">24</span><span style="color: #339933;">*</span><span style="color: #CC0000;">60</span><span style="color: #339933;">*</span><span style="color: #CC0000;">60</span><span style="color: #339933;">*</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   myItem <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;@&quot;</span> <span style="color: #339933;">+</span> myCookie <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;=&quot;</span> <span style="color: #339933;">+</span> escape<span style="color: #009900;">&#40;</span>myValue<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;;&quot;</span><span style="color: #339933;">;</span>
   myExpires <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;expires=&quot;</span><span style="color: #339933;">+</span>myExp.<span style="color: #660066;">toGMTString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   document.<span style="color: #660066;">cookie</span> <span style="color: #339933;">=</span>  myItem <span style="color: #339933;">+</span> myExpires<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>スクリプトの解説はイヌでもわかるJavaScript講座にありますので省きますです。<br />
一応私が一番重要(厄介)だと思うところは escape() の部分でして、これは PHP ではデコードすることはできません。でもそれを PHP でもデコードできるようにした人がいました。すごいです。</p>
<p><a href="http://jp2.php.net/utf8_encode#58442">PHP: utf8_encode &#8211; Manual</a><br />
<a href="http://dozo.matrix.jp/pear/index.php?PEAR%2FHTML_AJAX%2Funescape">unescape(PHP)関数 Javascript版escape日本語POST対応 PEAR::HTML_AJAX &#8211; PHP::PEAR &#8211; dozo PukiWiki</a></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #009933; font-style: italic;">/**
 * Function converts an Javascript escaped string back into a string with specified charset (default is UTF-8).
 * Modified function from http://pure-essence.net/stuff/code/utf8RawUrlDecode.phps
 *
 * @param string $source escaped with Javascript's escape() function
 * @param string $iconv_to destination character set will be used as second paramether in the iconv function. Default is UTF-8.
 * @return string
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> unescape<span style="color: #009900;">&#40;</span><span style="color: #000088;">$source</span><span style="color: #339933;">,</span> <span style="color: #000088;">$iconv_to</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'UTF-8'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$decodedStr</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$pos</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$len</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strlen</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$source</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$pos</span> <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #000088;">$len</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$charAt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$source</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pos</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$charAt</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'%'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$pos</span><span style="color: #339933;">++;</span>
          <span style="color: #000088;">$charAt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$source</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pos</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$charAt</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'u'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              <span style="color: #666666; font-style: italic;">// we got a unicode character</span>
              <span style="color: #000088;">$pos</span><span style="color: #339933;">++;</span>
              <span style="color: #000088;">$unicodeHexVal</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$source</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pos</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              <span style="color: #000088;">$unicode</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$unicodeHexVal</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              <span style="color: #000088;">$decodedStr</span> <span style="color: #339933;">.=</span> code2utf<span style="color: #009900;">&#40;</span><span style="color: #000088;">$unicode</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              <span style="color: #000088;">$pos</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">4</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
          <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
              <span style="color: #666666; font-style: italic;">// we have an escaped ascii character</span>
              <span style="color: #000088;">$hexVal</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$source</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pos</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              <span style="color: #000088;">$decodedStr</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">chr</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">hexdec</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$hexVal</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              <span style="color: #000088;">$pos</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span>
      <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$decodedStr</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$charAt</span><span style="color: #339933;">;</span>
          <span style="color: #000088;">$pos</span><span style="color: #339933;">++;</span>
      <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$iconv_to</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;UTF-8&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$decodedStr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">iconv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;UTF-8&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$iconv_to</span><span style="color: #339933;">,</span> <span style="color: #000088;">$decodedStr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #b1b100;">return</span> <span style="color: #000088;">$decodedStr</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009933; font-style: italic;">/**
 * Function coverts number of utf char into that character.
 * Function taken from: http://sk2.php.net/manual/en/function.utf8-encode.php#49336
 *
 * @param int $num
 * @return utf8char
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> code2utf<span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span><span style="color: #cc66cc;">128</span><span style="color: #009900;">&#41;</span><span style="color: #b1b100;">return</span> <span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span><span style="color: #cc66cc;">2048</span><span style="color: #009900;">&#41;</span><span style="color: #b1b100;">return</span> <span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">192</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #cc66cc;">63</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span><span style="color: #cc66cc;">65536</span><span style="color: #009900;">&#41;</span><span style="color: #b1b100;">return</span> <span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">224</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #cc66cc;">63</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #cc66cc;">63</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span><span style="color: #cc66cc;">2097152</span><span style="color: #009900;">&#41;</span><span style="color: #b1b100;">return</span> <span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #cc66cc;">18</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">240</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #cc66cc;">63</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #cc66cc;">63</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">128</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span><span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$num</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #cc66cc;">63</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>で、せっかくこういうのを見つけてからアレなんだけれども、PHP を使っているんだったら Cookie に送信する文字列を PHP で事前にエンコードしておけば、Javascript 側で escape する必要がなくなり、結果的に PHP でデコードすることができるようになるので、こっちの方が手早いんではないかと思うのですが実際はどうなんでしょうか……。</p>
<h3>Javascript で後から追加する場合の注意点</h3>
<p>Javascript で追加すると確かに Cookie は送信されるけどページの再読み込みを行わないと Cookie が送信されたのか訪問者にはわかりません。なので、ページを再読み込みさせる必要があります。Javascript とかいろいろ何が正しいのかわかりませんが、私は Cookie の送信をしたと同時に Javascript の location.reload() でページを再読み込みさせることにしました。<br />
<a href="http://www.htmq.com/js/location_reload.shtml">location.reload()?JavaScriptリファレンス</a></p>
<p>こちらは Web サーバのデータからリロードされ、最新の状態に更新されます。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;button&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;計算&quot;</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;SetCookie('name','value');location.reload(true)&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></td></tr></table></div>

<p>こちらはキャッシュからリロードされます。サーバー与える負荷を減らすためにはこちらがいいかもですね。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;button&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;計算&quot;</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;SetCookie('name','value');location.reload(false)&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></td></tr></table></div>

<p>Cookie を追加すると同時にページをリロードさせ、Cookie をコンテンツに反映させてます。ちなみに onclick に複数の何かを挿入する場合はセミコロンで区切るらしいです。</p>
<h3>追記(2009/4/10): Ajax を使えばページを部分的にリロードして軽量化できる</h3>
<p>Cookie を反映させるためにページ全体を読み込むのはスマートじゃありません。あれからいろいろと勉強をして Ajax が使えるようになったので、やる気のある人は Ajax もついでに勉強してみてはどうでしょうか？<br />
<a href="http://kezy.org/ajax/ajax-site.html">Ajax でページの一部だけを部分的にリロードして軽量化したいのだが IE は未対応 | 空が好きな人のメモ帳</a></p>
<h3>Cookie を削除する</h3>
<p>クッキーの削除は簡単です。以下のページが丁寧でした。<br />
<a href="http://nyx.pu1.net/practice/cookie/cookie4.html">PHPスクリプト講座：クッキーの削除 &#8212; そふぃのphp入門</a></p>
<p>クッキーの削除の仕方は二通りあり、１つ目は setcookie() でクッキー名のみを指定する方法。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">setcookie</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'クッキー名'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>2つ目は、有効期限を過去にする。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">setcookie</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'クッキー名'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>Cookie には path がある</h3>
<p>とても複雑で意味が分からないんですが、これを完璧に検証してくれた人がいるみたいです。感謝！<br />
<a href="http://www.imymode.com/exp/cookie.html">Cookie(クッキー)の届く範囲 (あいまいモード)</a></p>
<p>ただ Javascript での path の指定の仕方がわかりかせんでしたが<a href="http://www.tohoho-web.com/wwwcook2.htm">とほほのCookie入門のテストページ</a>のソースにわかりやすくコメントアウトして記述してくれていましたのでなんとか解決。</p>
]]></content:encoded>
			<wfw:commentRss>http://kezy.org/2009/03/19/cookie/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/2009/03/19/cookie" />
	</item>
		<item>
		<title>JavaScriptやCSSで簡単にIE6でアルファ画像(透過png)を使う方法</title>
		<link>http://kezy.org/2009/03/08/alpha-png</link>
		<comments>http://kezy.org/2009/03/08/alpha-png#comments</comments>
		<pubDate>Sun, 08 Mar 2009 09:25:37 +0000</pubDate>
		<dc:creator>Sorai</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[Star Hack]]></category>

		<guid isPermaLink="false">http://kezy.org/?p=1506</guid>
		<description><![CDATA[IE6はアルファ画像(透過png)が使えませんが、今回紹介する方法で簡単にIE6でもアルファ画像を使うことができるみたいなので、いつも通りメモしておきます。
ちなみに透過を活用することによって、さらにデザインの幅が広がる<p><a href="http://kezy.org/2009/03/08/alpha-png" class="excerpt_more">...続きを読む</a></p>]]></description>
			<content:encoded><![CDATA[<p>IE6はアルファ画像(透過png)が使えませんが、今回紹介する方法で簡単にIE6でもアルファ画像を使うことができるみたいなので、いつも通りメモしておきます。<br />
ちなみに透過を活用することによって、さらにデザインの幅が広がるかもしれません、あー楽しみかもです。透過を活用したウェブデザインは以下のサイトでいろいろ紹介されています。<br />
<a href="http://www.designwalker.com/2008/05/transparent-inspiration.html">透過をきれいに使ったウェブデザインいろいろ | DesignWalker</a><span id="more-1506"></span></p>
<h3>IE PNG Fix</h3>
<p><a href="http://www.twinhelix.com/css/iepngfix/">IE PNG Fix(英語)</a>で簡単にIE6でもアルファ画像を使うことができるようになります。ちなみに<a href="http://journal.mycom.co.jp/news/2008/07/18/050/index.html">2008年7月17日にIE PNG Fix 2が公開</a>されていて、さらに問題点が改善されてるようです。ちなみに以下のページでは分かりやすく導入までの手順を分かりやすく紹介されています。<br />
<a href="http://maho.chips.jp/diary/archives/1016">IE PNG Fix Alpha 2を使ってみた。 | ちぷろぐ</a></p>
<p>ついでに私も<a href="http://kezy.org/browser/ie-png-fix.html">IE PNG Fixの使い方</a>で簡単に導入方法を説明しているので参考にしてみてください。</p>
<h3>alphafilter.jsライブラリを使って指定した画像だけに透過処理を与える</h3>
<p>これは導入までが簡単。解説も日本語だしclassにalphafilterと追加記述するだけで簡単に処理を行えます。ただし背景画像には対応していないので、背景画像にも透過処理を加えたい場合は先ほど紹介したIE PNG Fixを使うか、さらに追加でCSSに細工をする方法があります。CSSに細工をする方法は後ほど紹介しますです。<br />
<a href="http://blog.webcreativepark.net/2007/02/01-233315.html">アルファ画像を扱うalphafilter.jsライブラリ[to-R]</a></p>
<h3>CSSに細工をする。</h3>
<p>細工というか<a href="http://css.ojaru.jp/library/star.html">スターハック</a>を使ってIE6にのみ適応するスタイルを記述します。またIE6の独自拡張フィルタなどを使ってあれこれします。<br />
<a href="http://css.webcreativepark.net/tips3">透過pngを表示する-CSS TIPS</a></p>
<p>それが以下のコードです。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div.alpha<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">100px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">200px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">&quot;alpha.png&quot;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">*</span> html div.alpha<span style="color: #00AA00;">&#123;</span>
	filter<span style="color: #3333ff;">:progid</span><span style="color: #3333ff;">:DXImageTransform</span><span style="color: #6666ff;">.Microsoft</span>.AlphaImageLoader<span style="color: #00AA00;">&#40;</span>src<span style="color: #00AA00;">=</span><span style="color: #ff0000;">'alpha.png'</span><span style="color: #00AA00;">,</span>sizingMethod<span style="color: #00AA00;">=</span><span style="color: #ff0000;">'scale'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>ですが、このままでは要素に合わせて画像がびよんびよん伸び縮みするので、画像のサイズを変更したくない人は以下のように記述してみます。太字の部分を書き換えました。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div.hoge<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">&quot;alpha.png&quot;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">*</span> html div.hoge<span style="color: #00AA00;">&#123;</span>
	filter<span style="color: #3333ff;">:progid</span><span style="color: #3333ff;">:DXImageTransform</span><span style="color: #6666ff;">.Microsoft</span>.AlphaImageLoader<span style="color: #00AA00;">&#40;</span>src<span style="color: #00AA00;">=</span><span style="color: #ff0000;">'hoge.png'</span><span style="color: #00AA00;">,</span>sizingMethod<span style="color: #00AA00;">=</span><span style="color: #ff0000;">'&lt;strong&gt;crop&lt;/strong&gt;'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>IEの独自拡張機能で良く分かりませんが、以下のサイトが詳しいみたいです。<br />
<a href="http://www5e.biglobe.ne.jp/access_r/hp/filter/DirectXfilter_002.html">AlphaImageLoader &#8211; filter,フィルタ</a></p>
<p>いろいろと書きましたが、最初からIE6がなければこんな面倒なことはしなくて良いはず。早くIE7にみんな強制以降させないといけないかもですよ。まぁIE7にもいろいろとバグはあるし、IEを使ってるといろいろと面倒なことが多いはず。みんなが早めにモダンブラウザの良さに気づいて変えてくれれば良いと思いますです。</p>
]]></content:encoded>
			<wfw:commentRss>http://kezy.org/2009/03/08/alpha-png/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/2009/03/08/alpha-png" />
	</item>
		<item>
		<title>IE PNG Fix の使い方</title>
		<link>http://kezy.org/2009/03/08/ie-png-fix</link>
		<comments>http://kezy.org/2009/03/08/ie-png-fix#comments</comments>
		<pubDate>Sun, 08 Mar 2009 09:06:14 +0000</pubDate>
		<dc:creator>Sorai</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IE PNG Fix]]></category>

		<guid isPermaLink="false">http://kezy.org/?p=1507</guid>
		<description><![CDATA[今回はIE PNG Fixを使ってみたので、使い方をついでにメモしておきました。ちなみにIE PNG Fix 2が去年登場してるみたいなので、ここではIE PNG Fix 2の使い方を紹介します。
IE6 透過PNG表示<p><a href="http://kezy.org/2009/03/08/ie-png-fix" class="excerpt_more">...続きを読む</a></p>]]></description>
			<content:encoded><![CDATA[<p>今回は<a href="http://www.twinhelix.com/css/iepngfix/">IE PNG Fix</a>を使ってみたので、使い方をついでにメモしておきました。ちなみにIE PNG Fix 2が去年登場してるみたいなので、ここではIE PNG Fix 2の使い方を紹介します。<br />
<a href="http://journal.mycom.co.jp/news/2008/07/18/050/index.html">IE6 透過PNG表示、IE PNG Fix 2登場 | エンタープライズ | マイコミジャーナル</a><span id="more-1507"></span></p>
<h3>ダウンロード</h3>
<p><a href="http://www.twinhelix.com/test/">Beta Testing Area</a>にアクセスして、IEPNGFix v2.0 Alphaをクリックしてダウンロードします。</p>
<h3>ファイルを組み込む</h3>
<p>ダウンロードしたファイルを解凍したら<em>iepngfix.htc</em>、<em>blank.gif</em>、<em>iepngfix_tilebg.js</em>の3つのファイルを任意のフォルダにコピーします。<br />
そして、CSS内に以下のように記述して<em>iepngfix.htc</em>を読み込ませます。太字のところは自分の環境に合わせて書き換えてください。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">img<span style="color: #00AA00;">,</span> div <span style="color: #00AA00;">&#123;</span> behavior<span style="color: #00AA00;">:</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">iepngfix.htc</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>そしてHTMLの&lt;head&gt;から&lt;/head&gt;の部分に以下のように記述します。これも自分の環境に合わせて書き換えてください。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span>”<span style="color: #000066;">text</span><span style="color: #66cc66;">/</span>javascript” <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span>”iepngfix_tilebg.js”&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></td></tr></table></div>

<p>そして最後に<em>blank.gif</em>を<em>iepngfix.htc</em>にちゃんと読み込ませないと、IE6なので透過処理をさせたときに画像が無しみたいな状態になって困るかもなので、ちゃんと読み込ませます。太字の部分がパスになります。絶対パスでの記述が良いと思いますです。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">IEPNGFix.<span style="color: #660066;">blankImg</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'blank.gif'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://kezy.org/2009/03/08/ie-png-fix/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/2009/03/08/ie-png-fix" />
	</item>
		<item>
		<title>IE6のよく忘れてしまうバグ対策総まとめ</title>
		<link>http://kezy.org/2009/02/23/ie6-bug</link>
		<comments>http://kezy.org/2009/02/23/ie6-bug#comments</comments>
		<pubDate>Mon, 23 Feb 2009 04:42:09 +0000</pubDate>
		<dc:creator>Sorai</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://kezy.org/?p=1434</guid>
		<description><![CDATA[IE6 に対する怒りが増し、だんだんと Microsoft に対して良い気持ちが持てなくなってきました。今回はカロリーデータベースの構築中に、こんなことも正しく解釈できないのか……と思わせるほど、あるはずがない、あっては<p><a href="http://kezy.org/2009/02/23/ie6-bug" class="excerpt_more">...続きを読む</a></p>]]></description>
			<content:encoded><![CDATA[<p>IE6 に対する怒りが増し、だんだんと Microsoft に対して良い気持ちが持てなくなってきました。今回は<a href="http://c-list.net/">カロリーデータベース</a>の構築中に、こんなことも正しく解釈できないのか……と思わせるほど、あるはずがない、あってはいけないと思ってしまうほど致命的なバグで忘れやすいものを(自分専用に)まとめてみました。<span id="more-1434"></span></p>
<h3>XHTMLを正しく解釈できないIE6対策</h3>
<p>この対策は以下のページを参考にさせていただきました。<br />
<a href="http://blog.heartfield-web.com/web/ie6_kouhougokan_taisaku.html">PHP で IE 6 の後方互換対策 &#8211; Heartfield</a></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;?xml <span style="color: #000066;">version</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1.0&quot;</span> encoding<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;UTF-8&quot;</span>?&gt;</span></pre></td></tr></table></div>

<p>IE6は上記の様にXML宣言を書いてしまうと「後方互換モード」になってしまい、すべてが終わります。ですからこのXML宣言を抜くしか対処する方法はありませんが、そんなことをすれば他のブラウザに迷惑です。<br />
というわけで、次の様に記述するとIE6の場合だけXML宣言を抜くことができます。(PHP限定)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$ua</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_USER_AGENT'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Windows&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$ua</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;MSIE&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$ua</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;MSIE 6.&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$ua</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<h3>Widthとborderとpaddingを一緒に指定できないIE6のためのバグ対策</h3>
<p>以下のページが大変参考になります。<br />
<a href="http://adp.daa.jp/archives/000265.html">ADP: IE6のwidth解釈バグ対処法</a></p>
<p>このバグは有名ですが、私はよく忘れます。頭の中おかしくなっちゃうくらい意味のわからないバグなので、早く何とかしてほしいです。ちなみにPHPの場合上の記述をすれば改善されるかもですね。<br />
<a href="http://mozilla.jp/firefox/">次世代ブラウザ Firefox | 高速・安全・自由にカスタマイズ | 人気ブラウザ無料ダウンロード</a></p>
<h3>floatするとmarginを2倍にするIE6のためのバグ対策</h3>
<p>前もリンクしたような気がしますが、以下のページが大変参考になります。<br />
<a href="http://css-happylife.com/log/bug/000339.shtml">IE6のfloatしたボックスのmarginの値が2倍になるバグ対策の件</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kezy.org/2009/02/23/ie6-bug/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/2009/02/23/ie6-bug" />
	</item>
		<item>
		<title>IE6はCSSのmin-widthやセレクタが使えない。</title>
		<link>http://kezy.org/2009/02/07/ie6-min-width</link>
		<comments>http://kezy.org/2009/02/07/ie6-min-width#comments</comments>
		<pubDate>Sat, 07 Feb 2009 11:32:17 +0000</pubDate>
		<dc:creator>Sorai</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://kezy.org/?p=1389</guid>
		<description><![CDATA[子供セレクタはIE6では使えないようです。このブログでいくつか使用していたため、IE6ではとんでもないレイアウトになってしまいます。
セレクタ（selector） CSS 前提知識
あとmin-widthも使えない。これ<p><a href="http://kezy.org/2009/02/07/ie6-min-width" class="excerpt_more">...続きを読む</a></p>]]></description>
			<content:encoded><![CDATA[<p>子供セレクタはIE6では使えないようです。このブログでいくつか使用していたため、IE6ではとんでもないレイアウトになってしまいます。<br />
セレクタ（selector） CSS 前提知識</p>
<p>あとmin-widthも使えない。これによって、いろいろとやりたいことが制限されます。このブログもmin-widthが使えないがために、IE6では横幅を強制的に指定することになってしまいました。できるだけFirefoxやIE7などで見てほしいです。</p>
<p>ちなみにmin-widthをIE6で実装する方法について、とても分かりやすくまとめてあり、大変参考になりました。<br />
<a href="http://webtech-walker.com/archive/2008/03/25234222.html">IE6のmin-width、min-heightハックに関して &#8211; Webtech Walker</a><br />
<a href="http://webtech-walker.com/archive/2008/03/26142420.html">IE6でmin-widthを実装する方法のまとめ &#8211; Webtech Walker</a></p>
<p>ちなみにNetscapeでも若干レイアウトが崩れます。Webデザインって難しい……。</p>
]]></content:encoded>
			<wfw:commentRss>http://kezy.org/2009/02/07/ie6-min-width/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://kezy.org/2009/02/07/ie6-min-width" />
	</item>
	</channel>
</rss>
