﻿<?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>Numb. &#187; HTML</title>
	<atom:link href="http://wp.graphact.com/tag/html/feed/" rel="self" type="application/rss+xml" />
	<link>http://wp.graphact.com</link>
	<description></description>
	<lastBuildDate>Tue, 07 Feb 2012 01:36:24 +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>IE8 に関するコーディング関連のまとめ</title>
		<link>http://wp.graphact.com/2010/07/22/ie8-meta-switch/</link>
		<comments>http://wp.graphact.com/2010/07/22/ie8-meta-switch/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 12:17:18 +0000</pubDate>
		<dc:creator>hibiki</dc:creator>
				<category><![CDATA[WebCreate]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IE8]]></category>

		<guid isPermaLink="false">http://wp.graphact.com/?p=1419</guid>
		<description><![CDATA[主に自分のための情報ですが、あちこちに書き留めていたのでまとめて公開しておきます。間違いなどがありましたら、ご指摘お願いします。 IE8 基本情報 Internet Explorer 8 開発者向け技術概要 MSDN　W [...]]]></description>
			<content:encoded><![CDATA[<p>主に自分のための情報ですが、あちこちに書き留めていたのでまとめて公開しておきます。間違いなどがありましたら、ご指摘お願いします。</p>
<h2>IE8 基本情報</h2>
<ul>
<li><a href="http://www.google.com/url?q=http%3A%2F%2Fmsdn.microsoft.com%2Fja-jp%2Fie%2Fdd550608.aspx&amp;sa=D&amp;sntz=1&amp;usg=AFrqEzfdsBx5rP8FbIw-z-HlRRVLwNvTXg">Internet Explorer 8 開発者向け技術概要</a></li>
<li><a href="http://www.google.com/url?q=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fcc288472%2528VS.85%2529.aspx&amp;sa=D&amp;sntz=1&amp;usg=AFrqEzfV3SMAnlrr3ytfWXHl7A2Xjl1rWA">MSDN　What’s New in Internet Explorer 8</a></li>
</ul>
<p>IE8 にはレンダリングモードが複数ある。詳細は以下のサイトを参照。</p>
<ul>
<li><a href="http://www.google.com/url?q=http%3A%2F%2Fmsdn.microsoft.com%2Fja-jp%2Fie%2Fdd550608.aspx%232&amp;sa=D&amp;sntz=1&amp;usg=AFrqEzdwa-iKWKU1apx-9D4rHy50wmRhVg">2. 実現可能な相互運用性と互換性 – Internet Explorer 8 開発者向け技術概要</a></li>
</ul>
<p>少し古い情報ですが、以下サイトも参考になりました。</p>
<ul>
<li><a href="http://www.google.com/url?q=http%3A%2F%2Fwww.freesia.org%2F2008%2F05%2Fie83.html&amp;sa=D&amp;sntz=1&amp;usg=AFrqEzfniJKgZA17uvSNGmhso0uFnV1xEw">【メモ】IE8の3レンダリングモードのまとめ / KOMOREBI || blog</a></li>
</ul>
<p>あまり気にする必要はなさそうですが、以下の点も一応知っておく方がよいかと思います。※主に JavaScript 関連で違いがあるようです。</p>
<ul>
<li><a href="http://www.google.com/url?q=http%3A%2F%2Fjournal.mycom.co.jp%2Fnews%2F2009%2F03%2F17%2F004%2Findex.html&amp;sa=D&amp;sntz=1&amp;usg=AFrqEzfLhlKToSji7DBYYxLVcs1a-D_1pg">IE8互換ビューとIE7はまったく同じではない | エンタープライズ | マイコミジャーナル</a></li>
</ul>
<h2>meta タグによるモードの指定方法</h2>
<div class="quote">
<blockquote cite="http://msdn.microsoft.com/ja-jp/ie/dd550608.aspx#2a" title="Internet Explorer 8 開発者向け技術概要">
<p>表 1 Internet Explorer 8 の互換モード</p>
<table cellspacing="0" cellpadding="5" style="border-collapse: collapse; margin-bottom: 10px;" class="simple">
<tbody>
<tr>
<td valign="top" style="color: rgb(255, 255, 255);background:#9bbb59;"><strong>互換モード値</strong></td>
<td valign="top" style="color: rgb(255, 255, 255);background:#9bbb59;"><strong>レンダリング動作</strong></td>
</tr>
<tr>
<td valign="top"><strong>IE=5</strong></td>
<td valign="top">Quirks (クワークス) モード</td>
</tr>
<tr>
<td valign="top"><strong>IE=7</strong></td>
<td valign="top">Internet Explorer 7 標準準拠モード</td>
</tr>
<tr>
<td valign="top"><strong>IE=EmulateIE7</strong></td>
<td valign="top">
<p>!DOCTYPE 宣言によりモードが決定されます</p>
<ul style="margin-bottom:0;">
<li>Quirks モード の !DOCTYPE 宣言の場合は Quirks モード</li>
<li>標準モードの !DOCTYPE 宣言の場合は Internet Explorer&nbsp;7 標準準拠モード</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><strong>IE=8</strong></td>
<td valign="top">Internet Explorer&nbsp;8 標準モード</td>
</tr>
<tr>
<td valign="top"><strong>IE=EmulateIE8</strong></td>
<td valign="top">
<p>!DOCTYPE 宣言によりモードが決定されます</p>
<ul style="margin-bottom:0;">
<li>Quirks モード の !DOCTYPE 宣言の場合は Quirks モード</li>
<li>標準モードの!DOCTYPE 宣言の場合は Internet Explorer&nbsp;8 標準モード</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><strong>IE=edge</strong></td>
<td valign="top">Internet Explorer 8 と将来のすべてのバージョンのブラウザーがサポートする最新の標準を使用。実稼働サイトには非推奨</td>
</tr>
</tbody>
</table>
</blockquote>
<p><cite>&#12302;<a href="http://msdn.microsoft.com/ja-jp/ie/dd550608.aspx#2a" title="Internet Explorer 8 開発者向け技術概要">Internet Explorer 8 開発者向け技術概要</a>&#12424;&#12426;&#24341;&#29992;&#12303;</cite></p>
</div>
<p>よく使うようなものだけリストアップします。</p>
<pre class="brush: xml; auto-links: false; gutter: false;">
&lt;!-- IE8標準準拠モードを指定 --&gt;
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=8&quot;&gt;

&lt;!-- IE7標準準拠モードを指定 --&gt;
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=7&quot;&gt;

&lt;!-- Quirksモードを指定 --&gt;
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=5&quot;&gt;

&lt;!-- 最新の標準準拠モードを指定 (IE8が最新バージョンの場合なら、IE8標準準拠モードとなる) --&gt;
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;&gt;
</pre>
<p>複数のバージョンを指定した場合については、後述。</p>
<h2>各モードの内容</h2>
<dl>
<dt>IE8モード</dt>
<dd>CSS 2.1やSelectors APIなど、Web標準を強く意識したモード。</dd>
<dt>IE7モード</dt>
<dd>IE7の標準準拠モードと同じ</dd>
<dt>IE5モード</dt>
<dd>IE7やIE6の互換モードと同じ</dd>
</dl>
<p>その他モードについては、最初にあげたサイトなどを参照。</p>
<h2>モードの複数指定をおこなった場合</h2>
<p>meta スイッチには、下記のように複数のレンダリングモードを指定することが可能。</p>
<pre class="brush: xml; auto-links: false; gutter: false;">
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=7; IE=9&quot;&gt;
</pre>
<div class="quote">
<blockquote cite="http://standards.mitsue.co.jp/archives/001326.html" title="IE8のモードスイッチ | Web標準Blog | ミツエーリンクス">
<p>metaスイッチをサポートする今後のIEは、指定される値の中から、一番適したモードを選択します。上記の例ではIE7モードとIE9モードを選択していますが、IE8でその文書を表示させると、IE8モードではなくIE7モードでレンダリングすることになります。</p>
</blockquote>
<p><cite>&#12302;<a href="http://standards.mitsue.co.jp/archives/001326.html" title="IE8のモードスイッチ | Web標準Blog | ミツエーリンクス">IE8のモードスイッチ | Web標準Blog | ミツエーリンクス</a>&#12424;&#12426;&#24341;&#29992;&#12303;</cite></p>
</div>
<p>今のところ、一番多く使うのは IE7 モード指定でしょうか。あまり使わない方が良いのかもしれませんが、保守サイトなどが IE8 で見ておかしい場合などの対応には手軽です。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.graphact.com/2010/07/22/ie8-meta-switch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 の分かりやすいスライド</title>
		<link>http://wp.graphact.com/2009/11/12/html5memo-091112/</link>
		<comments>http://wp.graphact.com/2009/11/12/html5memo-091112/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 14:03:19 +0000</pubDate>
		<dc:creator>hibiki</dc:creator>
				<category><![CDATA[WebCreate]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://wp.graphact.com/?p=1171</guid>
		<description><![CDATA[HTML5, きちんと。 View more documents from Masataka Yakura. とても分かりやすかったのでメモ。 簡潔にまとまっていて良いスライドだなー。]]></description>
			<content:encoded><![CDATA[<div style="width:425px;text-align:left" id="__ss_2480964"><object style="margin:0px" width="425" height="355"><br />
<a href="http://www.slideshare.net/myakura/html5-2480964" title="HTML5, きちんと。">HTML5, きちんと。</a><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=talkhtml520091110-091111233344-phpapp02&#038;rel=0&#038;stripped_title=html5-2480964" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=talkhtml520091110-091111233344-phpapp02&#038;rel=0&#038;stripped_title=html5-2480964" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/myakura">Masataka Yakura</a>.</div>
</div>
<p>とても分かりやすかったのでメモ。<br />
簡潔にまとまっていて良いスライドだなー。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.graphact.com/2009/11/12/html5memo-091112/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML 5 自分用メモ</title>
		<link>http://wp.graphact.com/2009/08/01/html5-090801/</link>
		<comments>http://wp.graphact.com/2009/08/01/html5-090801/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 06:46:52 +0000</pubDate>
		<dc:creator>hibiki</dc:creator>
				<category><![CDATA[WebCreate]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://wp.graphact.com/?p=1084</guid>
		<description><![CDATA[【特集】詳解! HTML 5と関連APIの最新動向 &#8211; 新タグ&#38;API編 (2) HTML 5マークアップについての簡易リファレンス &#124; エンタープライズ &#124; マイコミジャーナル 上記記事の内容は、以 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://journal.mycom.co.jp/special/2009/html5-1/001.html">【特集】詳解! HTML 5と関連APIの最新動向 &#8211; 新タグ&amp;API編 (2) HTML 5マークアップについての簡易リファレンス | エンタープライズ | マイコミジャーナル</a></p>
<p>上記記事の内容は、以下の通り。<br />
(1) はじめに &#8211; 本特集の趣旨<br />
(2) HTML 5マークアップについての簡易リファレンス<br />
(3) Video/Audio要素とそのAPI<br />
(4) Canvasタグ<br />
(5) 大幅に強化されたフォーム要素<br />
(6) アウトラインを意識したマークアップ<br />
(7) ドラッグ&#038;ドロップAPI</p>
<p>時間があるときにゆっくり読むためにメモ。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.graphact.com/2009/08/01/html5-090801/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>IE8</title>
		<link>http://wp.graphact.com/2009/03/25/ie8_release/</link>
		<comments>http://wp.graphact.com/2009/03/25/ie8_release/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 08:16:52 +0000</pubDate>
		<dc:creator>hibiki</dc:creator>
				<category><![CDATA[WebCreate]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://wp.graphact.com/?p=968</guid>
		<description><![CDATA[IE8 のことを知るためには以下を一読。 Internet Explorer 8 開発者向け技術概要 MSDN　What’s New in Internet Explorer 8 現時点で Dojo Toolkit が  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microsoft.com/japan/windows/products/winfamily/ie/function/default.mspx">IE8</a> のことを知るためには以下を一読。</p>
<ul>
<li><a href="http://msdn.microsoft.com/ja-jp/ie/dd550608.aspx">Internet Explorer 8 開発者向け技術概要</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc288472(VS.85).aspx">MSDN　What’s New in Internet Explorer 8</a></li>
</ul>
<p>現時点で <a href="http://www.dojotoolkit.org/">Dojo Toolkit</a> が IE8 で上手く動いていません。次の Dojo の ver UP で直されそうなのでに期待。</p>
<p>ライブラリが動かない等、過去に制作したサイトが崩れたり問題が起きている場合、レンダリングモードを変更して過去の IE 互換レンダリングで表示させておくことが必要。</p>
<p>IE8 にはレンダリングモードが複数あります。詳細は以下のサイトで。</p>
<ul>
<li><a href="http://msdn.microsoft.com/ja-jp/ie/dd550608.aspx#2">2. 実現可能な相互運用性と互換性 &#8211; Internet Explorer 8 開発者向け技術概要</a></li>
</ul>
<p>1 年弱前の記事ですが、こちらも参考になりました。</p>
<ul>
<li><a href="http://www.freesia.org/2008/05/ie83.html">【メモ】IE8の3レンダリングモードのまとめ / KOMOREBI || blog</a></li>
<li><a href="http://blog.summerwind.jp/archives/1182/">SummerWind &#8211; IE8のEmulateIE8/EmulateIE7モード</a></li>
</ul>
<p>ただ、IE8 の互換モードと IE7 は全く同じではないということで、そのあたりも注意が必要ですね。</p>
<ul>
<li><a href="http://journal.mycom.co.jp/news/2009/03/17/004/index.html">IE8互換ビューとIE7はまったく同じではない | エンタープライズ | マイコミジャーナル</a></li>
<li><a href="http://blogs.msdn.com/ie/archive/2009/03/12/site-compatibility-and-ie8.aspx">IEBlog : Site Compatibility and IE8</a></li>
</ul>
<p>正直レンダリングモードが複雑化しすぎている気がします。せっかく「 hasLayout から IE8 で逃れられた！（＝ IE の面倒なモノはなくなった！）」と思ったのになぁ。まだ面倒ですね。<br />
とりあえず、「<a href="http://msdn.microsoft.com/ja-jp/ie/dd550608.aspx">Internet Explorer 8 開発者向け技術概要</a>」を片手にがんばります。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.graphact.com/2009/03/25/ie8_release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5</title>
		<link>http://wp.graphact.com/2009/03/25/html5_draft0903/</link>
		<comments>http://wp.graphact.com/2009/03/25/html5_draft0903/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 07:30:01 +0000</pubDate>
		<dc:creator>hibiki</dc:creator>
				<category><![CDATA[WebCreate]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://wp.graphact.com/?p=962</guid>
		<description><![CDATA[以前 HTML5 メモ &#124; Numb. という記事を書きましたが、最近 HTML5 を利用したサイトもぱらぱらと出てきたようなので改めて参考サイトなどをメモ。現在はまだ策定中の仕様なので、仕事で使うのは仕様が固まる来年  [...]]]></description>
			<content:encoded><![CDATA[<p>以前 <a href="http://wp.graphact.com/2008/09/25/html5">HTML5 メモ | Numb.</a> という記事を書きましたが、最近 HTML5 を利用したサイトもぱらぱらと出てきたようなので改めて参考サイトなどをメモ。現在はまだ策定中の仕様なので、仕事で使うのは仕様が固まる来年 2010 年以降だと思いますが、そろそろ覚え出したいな。</p>
<p>HTML5 利用サイト</p>
<ul>
<li><a href="http://labs.edge.jp/">livedoor labs EDGE</a></li>
<li><a href="http://www.apple.com/jp/safari/">アップル &#8211; Safari &#8211; Safari 4の登場です。 &#8211; 目の前にひろがる新しいウェブの世界。</a></li>
</ul>
<p>HTML5 利用サイトを見てると、そう遠い技術ではないんだなぁと改めて思いました。</p>
<p>HTML5 を知るには以下のサイトを</p>
<ul>
<li><a href="http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/">HTML 5 ― HTML 4 からの変更点</a></li>
<li><a href="http://dev.w3.org/html5/spec/Overview.html">HTML 5</a></li>
<li><a href="http://www.html5.jp/">HTML5.JP &#8211; 次世代HTML標準 HTML5情報サイト</a></li>
<li><a href="http://www.ibm.com/developerworks/jp/xml/library/x-html5/index.html">HTML 5 の新要素</a></li>
<li><a href="http://ja.wikipedia.org/wiki/HTML_5">HTML 5 &#8211; Wikipedia</a></li>
</ul>
<p>上記にもあげた IBM の「<a href="http://www.ibm.com/developerworks/jp/xml/library/x-html5/index.html">HTML 5 の新要素</a>」が、現在のマークアップと HTML5 でのマークアップを見比べやすいです。</p>
<p>HTML5 でサンプルとかも作りたいなあ。</p>
<p>以下、090628 追記<br />
「仕様が固まる来年 2010 年以降」と書いたところの補足。</p>
<div class="quote">
<blockquote cite="http://www.atmarkit.co.jp/news/200801/25/html.html" title="HTML5が持つ本当の意味 － ＠IT">
<p>ウェブ関連技術の標準化団体「W3C」（World Wide Web Consortium）が「HTML5」の策定に向けて活動を本格化しました。1月22日には「HTML5」の最初の草案を公開。2010年9月に正式な勧告としてリリースする予定だと発表しました。</p>
</blockquote>
<p><cite>&#12302;<a href="http://www.atmarkit.co.jp/news/200801/25/html.html" title="HTML5が持つ本当の意味 － ＠IT">HTML5が持つ本当の意味 － ＠IT</a>&#12424;&#12426;&#24341;&#29992;&#12303;</cite></p>
</div>
<p>2010年9月に正式な勧告としてリリースする予定、これは遅れるかもしれないし、予定通りかもしれないですが、どっちにしても正式な勧告が来てから実務では使うことになるかな。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.graphact.com/2009/03/25/html5_draft0903/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTML5 メモ</title>
		<link>http://wp.graphact.com/2008/09/25/html5/</link>
		<comments>http://wp.graphact.com/2008/09/25/html5/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 04:34:19 +0000</pubDate>
		<dc:creator>hibiki</dc:creator>
				<category><![CDATA[WebCreate]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://wp.graphact.com/?p=392</guid>
		<description><![CDATA[HTML5 は XHTML と互換性がないと思っていたのですが、ばっちりあるんですね。 んーんーこれは、結構楽しみな気がしてきました。 HTML 5には、この「article」タグだけでなく、「section」や「nav [...]]]></description>
			<content:encoded><![CDATA[<p>HTML5 は XHTML と互換性がないと思っていたのですが、ばっちりあるんですね。<br />
んーんーこれは、結構楽しみな気がしてきました。</p>
<div class="quote">
<blockquote title="HTML 5では「article」タグでページの「本文」が取れる - Zopeジャンキー日記"><p>HTML 5には、この「article」タグだけでなく、「section」や「nav」、「header」、「footer」など、従来はdivのid属性で指定していたような「お決まりのレイアウト要素」が、正式な要素として導入される。じつに素晴らしい。</p></blockquote>
<p><cite>『<a href="http://mojix.org/2008/08/10/html5_article_tag">HTML 5では「article」タグでページの「本文」が取れる &#8211; Zopeジャンキー日記</a> より引用』</cite></p>
</div>
<ul>
<li><a href="http://standards.mitsue.co.jp/resources/w3c/TR/2008/WD-html5-diff-20080122/">HTML 5 における HTML 4 からの変更点</a><br />
W3C の HTML ワーキンググループ による「HTML 5 differences from HTML 4 (Working Draft 22 January 2008)」の日本語訳</li>
<li><a href="http://www.html5.jp/">HTML5.JP &#8211; 次世代HTML標準 HTML5情報サイト</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://wp.graphact.com/2008/09/25/html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>新規ウィンドウを開く手段を Valid と両立させる考察</title>
		<link>http://wp.graphact.com/2007/06/10/87/</link>
		<comments>http://wp.graphact.com/2007/06/10/87/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 08:43:21 +0000</pubDate>
		<dc:creator>hibiki</dc:creator>
				<category><![CDATA[WebCreate]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.graphact.com/memo/2007/06/10/138</guid>
		<description><![CDATA[以前に書いた Numb. &#8211; _blank を使わない新規ウィンドウの開き方 の続きにあたる記事です。一応、もう一度おさらいしてみます。 06/13 追記： 大事な部分を丸ごと書き忘れていることに気付きました [...]]]></description>
			<content:encoded><![CDATA[<p>以前に書いた<br />
<a href="http://wp.graphact.com/2006/03/22/29" title="Numb. - _blank を使わない新規ウィンドウの開き方">Numb. &#8211; _blank を使わない新規ウィンドウの開き方</a><br />
の続きにあたる記事です。一応、もう一度おさらいしてみます。</p>
<p><ins datetime="2006-06-13T06:41:46+00:00">06/13 追記：<br />
大事な部分を丸ごと書き忘れていることに気付きました orz<br />
javascript 関連の部分を追記いたしました。<br />
</ins></p>
<p>新規ウィンドウを開かせる手段を実装したい、という場合は以下の 2 種類が有名だと思います。</p>
<ul>
<li>a に target=&#8221;_blank&#8221; を指定する</li>
<li>javascript で設定する</li>
</ul>
<p>しかし「ウィンドウを新たに開くかどうか」はユーザーが決めるべきことなので、作り手が決め手はいけない、という話もあります。<br />
そのためか、XHTML 1.1 や XHTML Basic では target=&#8221;_blank&#8221; という書き方は準拠していない、とされ NG になってしまいます。<br />
「マークアップ言語である HTML で、ウィンドウ操作をする」という点も問題なのだと思います。マークアップ目的以外になるので。</p>
<p>でもユーザーの中にも新規ウィンドウを開く手段を実装しておいて欲しいという人もいます。<br />
いやいや余計なお世話だから、こっちに決めさせてくれ、そんなことは実装しておかないでくれ、という人もいます。<br />
実装して欲しい・欲しくない、という人が両方いる…ということで、<em>じゃあ両方のリンクを制作</em>しておけばいいんじゃ！と思いまして。今回はそんな方向でやってみました。<br />
<span id="more-87"></span></p>
<h2>ポイント</h2>
<ul>
<li>
rel 属性は XHTML1.0 Transitional では OK 。HTML4.0 では rel に指定できる値が決まっている。rel を使うのならば、XHTML1.0 Transitional で書いておくようにする。今回はより柔軟に対応するために、class 属性を使用。
</li>
<li>
マークアップ言語である HTML でウィンドウ操作はしない（つまり _blank は使用しない）。新規ウィンドウを開く部分は javascript で window.open を使って実装。
</li>
</ul>
<p>実装方法は次のような形。</p>
<h2>見本</h2>
<p><a href="http://wp.graphact.com" title="Numb.">Numb.</a><a href="http://wp.graphact.com" title="[Numb.]を新しいウィンドウで開く" class="external"><img src="http://wp.graphact.com/wp-content/uploads/icons/link-icon_external_01.gif" alt="" /></a></p>
<p>テキスト部分のリンクをクリックすると同じウィンドウで開き、矢印の画像部分のリンクをクリックすると新しいウィンドウで開きます。</p>
<p>※現在違う方法で実装を始めたため、この見本では新規ウィンドウが開きません。</p>
<h2>実装方法</h2>
<ul>
<li>) か b ) どちらかの方法を選び、javascript を保存。HTML に外部ファイルとしてこれを読み込ませる。</li>
<li>た目を整えるための、style.css にコレ用の CSS を追記。</li>
<li>ウィンドウを開くリンクとしておきたい a タグに `class=&#8221;external&#8221;` をつける。<br />※ウィンドウを開かないリンクも一緒に記述します。
</li>
<li>おまけ。 Firefox の方は Copy+ を使って簡単に記述できるようにすると便利です。ここは任意。</li>
</ul>
<h2>1. javascript</h2>
<p>prototype.js を利用する場合と、利用しない場合では少しだけ javascript が違います。<br />
もし Litebox 等、body に onload を書くものを利用している場合は prototype.js を利用するほうを選んでください。</p>
<p>参考：<a href="http://blog.webcreativepark.net/2006/06/27-231623.html" title="prototype.jsを使ってみる 2-Event.observe[to-R]">prototype.jsを使ってみる 2-Event.observe[to-R]</a></p>
<h3>a ) prototype.js を利用しない場合</h3>
<pre class="brush: js; auto-links: false;">
function externalLinks() {
	if (! document.getElementsByTagName ) return;
	var anchors = document.getElementsByTagName(&quot;a&quot;);
	for (var i=0; i&lt;anchors .length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute(&quot;href&quot;) &amp;&amp; anchor.getAttribute(&quot;class&quot;) == &quot;external&quot;) {
			anchor.onclick = function(event){return newWindow(this, event);}
			anchor.onkeypress = function(event){return newWindow(this, event);}
		}
	}
}
function newWindow(anchor, event){
	var keyCode;
	if (event &amp;&amp; event.type == 'keypress') {
		if (event.keyCode)
		keyCode = event.keyCode;
		else if (event.which)
		keyCode = event.which;
		// 13 == Return key. 32 == space key
		if (keyCode != 13 &amp;&amp; keyCode != 32)
		return true;
	}
	return !window.open(anchor);
}
window.onload = externalLinks;
</pre>
<p>上記 javascript を「externalLink.js」と名前をつけて保存。<br />
以下の 1 行を HTML の header 内に書く。</p>
<pre class="brush: xml; auto-links: false;">
&lt;script type=&quot;text/javascript&quot; src=&quot;/path/externalLink.js&quot;&gt;
</pre>
<p>上記の方法は onload を最後の 1 行に書いています。<br />
onload イベントは 1 ページに 1 回しか使えないため、もし onload を他のスクリプト（ Litebox など）で使用している場合、この記述方法では実装できません。<br />
そんな方は b ) prototype.js を利用する場合、のほうを使ってください。</p>
<h3>b ) prototype.js を利用する場合の javascript</h3>
<pre class="brush: js; auto-links: false;">
function externalLinks() {
	if (! document.getElementsByTagName ) return;
	var anchors = document.getElementsByTagName(&quot;a&quot;);
	for (var i=0; i&lt;/anchors&gt;&lt;anchors .length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute(&quot;href&quot;) &amp;&amp; anchor.getAttribute(&quot;class&quot;) == &quot;external&quot;) {
			anchor.onclick = function(event){return newWindow(this, event);}
			anchor.onkeypress = function(event){return newWindow(this, event);}
		}
	}
}
function newWindow(anchor, event){
	var keyCode;
	if (event &amp;&amp; event.type == 'keypress') {
		if (event.keyCode)
		keyCode = event.keyCode;
		else if (event.which)
		keyCode = event.which;
		// 13 == Return key. 32 == space key
		if (keyCode != 13 &amp;&amp; keyCode != 32)
		return true;
	}
	return !window.open(anchor);
}
Event.observe(window,'load', externalLinks, false);
</pre>
<p>上記 javascript を「externalLink.js」と名前をつけて保存。<br />
以下の 2 行を HTML の header 内に書く。</p>
<pre class="brush: xml; auto-links: false;">
&lt;script type=&quot;text/javascript&quot; src=&quot;/path/prototype.js&quot;&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;/path/externalLink.js&quot;&gt;&lt;/script&gt;
</pre>
<p>javascript の最後の 1 行、`Event.observe(window,&#8217;load&#8217;, externalLinks, false);` は prototype.js を利用しています。<br />
onload で読み込むものが他にある場合は、こちらの javascript を利用してください。</p>
<p>prototype.js も読み込む必要がありますが、よく使われているため「すでに prototype 使ってるよ」という方もいると思います。<br />
その場合は再度読み込ませなくても OK ですので、externalLink.js を読み込ませる分だけ追記してください。</p>
<h2>2. CSS</h2>
<p>WP の使用しているテーマの style.css に以下の CSS を追記します。</p>
<pre class="brush: css; auto-links: false;">
/* for externalLink */
a.external {
	margin: 0 5px 0 3px;
}
a.external img {
	vertical-align: middle;
	border: none!important;
}
</pre>
<p>a.external の margin 設定は、画像の左右の余白設定です。<br />
margin: 上 右 下 左;<br />
という感じですので、余白を調整したい場合は変えたい場所の数字を変更してください。</p>
<p>a.external img のほうの設定は特に弄らなくて大丈夫だと思います。</p>
<h2>3. XHTML</h2>
<pre class="brush: xml; auto-links: false;">
&lt;a href=&quot;http://www.google.co.jp/&quot; title=&quot;Google&quot;&gt;Google&lt;/a&gt;
&lt;a href=&quot;http://www.google.co.jp/&quot; title=&quot;[Google]を新しいウィンドウで開く&quot; class=&quot;external&quot;&gt;
&lt;img src=&quot;http://hogehoge/hogehoge.gif&quot; alt=&quot;[Google]を新しいウィンドウで開く&quot; /&gt;&lt;/a&gt;
</pre>
<p>このような形で書いています。画像のパスは自分で用意した画像ファイルのパスに適宜変更してください。<br />
上では見やすくするために改行を入れてますが、実際には改行はなくて OK です。</p>
<p>アイコン探し参考：<br />
<a href="http://gigazine.net/index.php?/news/comments/20061023_mini_icon/" title="いろいろな用途で使えるミニアイコンあれこれ - GIGAZINE"><br />
いろいろな用途で使えるミニアイコンあれこれ &#8211; GIGAZINE</a></p>
<h2>この方法の良い点</h2>
<ul>
<li>Valid である。</li>
<li>ページを新しいウィンドウで開くか、そのままのウィンドウで開くか、この両方を提供できる。</li>
</ul>
<h2>この方法の悪い点</h2>
<ul>
<li>リンク 1 つにつき 2 つ分のリンクを書くことになるので、ソースが長くなる。</li>
<li>これに対応した HTML をその都度書くのが面倒。</li>
</ul>
<p>この悪い点の 2 つめ、書くことが面倒なのが最大の問題点だと思っています。<br />
そんなわけで、Firefox + CopyURL+ で簡単にタグを作れるようにしました。</p>
<h2>CopyURL+ でこの方法用のタグを生成</h2>
<p>CopyURL+ の使い方や細かい点は「<a href="http://wp.graphact.com/2007/01/03/115" title="Numb. - 「Copy URL+」+「MozShot」"><br />
Numb. &#8211; 「Copy URL+」+「MozShot」</a>」という記事に書いたので、こちらを参考になさってください。</p>
<p>Copy URL+ 用 user.js</p>
<pre class="brush: js; auto-links: false;">
user_pref('copyurlplus.menus.n.label','Create URL&amp;Title/externalLink');
user_pref('copyurlplus.menus.n.copy','&lt;a href=&quot;%URL%&quot; title=&quot;%TITLE%&quot;&gt;%TITLE%&lt;/a&gt;&lt;a href=&quot;%URL%&quot; title=&quot;[%TITLE%]を新しいウィンドウで開く&quot; class=&quot;external&quot;&gt;&lt;img src=&quot;http://hogehoge/hogehoge.gif&quot; alt=&quot;[%TITLE%]を新しいウィンドウで開く&quot; /&gt;&lt;/a&gt;
');
</pre>
<p>※user_pref(&#8216;copyurlplus.menus.n.・・・の、n の部分は user.js 内でかぶらないように数字をつけます。<br />
これのみなら 1 、他にすでに 1～3 まで使ってあるなら 4 、というかんじに。</p>
<p>※http://hogehoge/hogehoge.gif は自分の用意した画像ファイルのパスに置き換えてください。</p>
<p>以上です。もしよろしければお試しください :grin:</p>
<p><strong>07/07/30 追記</strong><br />
javascript で新しいウィンドウを開くためのアイコンを自動で追加する方法に現在は至りました。<br />
<a href="http://wp.graphact.com/2007/07/15/98" title="リンクに、新しいウィンドウで開くためのアイコンを自動で追加(Wpプラグイン) - Numb.">リンクに、新しいウィンドウで開くためのアイコンを自動で追加(Wpプラグイン) &#8211; Numb.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wp.graphact.com/2007/06/10/87/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>trackfeed 用貼り付けタグを Valid XHTML にするには</title>
		<link>http://wp.graphact.com/2007/06/10/86/</link>
		<comments>http://wp.graphact.com/2007/06/10/86/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 03:41:59 +0000</pubDate>
		<dc:creator>hibiki</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.graphact.com/memo/2007/06/10/136</guid>
		<description><![CDATA[ブログを持っている方は、trackfeed を使用している方も多いと思います。 trackfeed とは、ブログへリンクをはってくれたサイトを RSS で知ることができるサービスです。 見てるだけでも結構楽しいですし、お [...]]]></description>
			<content:encoded><![CDATA[<p>ブログを持っている方は、trackfeed を使用している方も多いと思います。<br />
trackfeed とは、ブログへリンクをはってくれたサイトを RSS で知ることができるサービスです。<br />
見てるだけでも結構楽しいですし、お気に入りです。</p>
<p><a href="http://trackfeed.com/?r=10bb93b13c" title="リンクが張られた瞬時にRSSで通知するアクセス解析ツール - トラックフィード" rel="external">リンクが張られた瞬時にRSSで通知するアクセス解析ツール &#8211; トラックフィード</a></p>
<p>trackfeed を使用するためには、指定された HTML タグをリンクされる可能性のあるすべてのページに貼り付ける必要があります。<br />
ブログの場合、サイドバーかフッターのテンプレートに貼り付けてしまえば全ページに表示されるようになるので OK です。</p>
<p>しかし trackfeed に登録した際に送られてくる HTML タグは、そのままだと Valid XHTML に通りません。<br />
最近は HTML ではなく XHTML で書かれたブログも多く、このサイトも XHTML で書いてあります。<br />
Valid なほうが気持ちが良いよね、ということで、trackfeed 用貼り付けタグを Valid XHTML に通るようにしてみました。</p>
<p><span id="more-86"></span></p>
<pre class="brush: xml; auto-links: false;">
&lt;a href=&quot;http://trackfeed.com/&quot;&gt;&lt;img name=&quot;trackfeed_banner&quot; src=&quot;http://img.trackfeed.com/img/tfg.gif&quot; alt=&quot;track feed&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;script src=&quot;http://script.trackfeed.com/usr/●●●.js&quot;&gt;&lt;/script&gt;
</pre>
<p>送られてくる HTML タグは上記のようなかんじだと思います。※●●● のところはユーザーごとに違います<br />
これを以下のように修正。</p>
<pre class="brush: xml; auto-links: false;">
&lt;a href=&quot;http://trackfeed.com/&quot;&gt;&lt;img name=&quot;trackfeed_banner&quot; src=&quot;http://img.trackfeed.com/img/tfg.gif&quot; alt=&quot;track feed&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;script src=&quot;http://script.trackfeed.com/usr/●●●.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</pre>
<p>この修正したほうの XHTML タグを貼り付ければ、Valid XHTML に通ります :)</p>
<p>分かる方には簡単な内容ですが、分からない方には分かりにくいかな～・・？と思うので記事にしてみました。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.graphact.com/2007/06/10/86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML &amp; CSS エディタ ez-HTML</title>
		<link>http://wp.graphact.com/2006/07/22/52/</link>
		<comments>http://wp.graphact.com/2006/07/22/52/#comments</comments>
		<pubDate>Sat, 22 Jul 2006 07:56:46 +0000</pubDate>
		<dc:creator>hibiki</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WebCreate]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.graphact.com/memo/2006/07/22/79</guid>
		<description><![CDATA[色々使ってみたなかで、これはいいなーと思えたもの。 ＃2/24思い出して色々追記やら修正。 ez-HTML 高機能すぎるほど高機能なので、使いこなすには最初に「ん、これどういうもの？どうするの？」 と多少ヘルプを見ないと [...]]]></description>
			<content:encoded><![CDATA[<p>色々使ってみたなかで、これはいいなーと思えたもの。<br />
＃2/24思い出して色々追記やら修正。</p>
<p><a href="http://wp.graphact.com/wp-content/uploads/2006/07/ez-html3.jpg" class="lightview" title="ez-htmlの入力補助"><img src="http://wp.graphact.com/wp-content/uploads/2006/07/_ez-html3.jpg" width="250" height="119" alt="ez-htmlの入力補助" title="ez-htmlの入力補助" class="left_img" /></a></p>
<p><a href="http://www.w-frontier.com/software/ezhtml.html" title="ez-HTML" rel="external"><br />
<img src="http://wp.graphact.com/wp-content/uploads/2006/07/ezHTML_b.gif" width="80" height="15" alt="ez-HTML" title="ez-HTML" hspace="4" vspace="4" border="0" /></a><br />
<a href="http://www.w-frontier.com/software/ezhtml.html" title="ez-HTML" rel="external">ez-HTML</a></p>
<p>高機能すぎるほど高機能なので、使いこなすには最初に「ん、これどういうもの？どうするの？」<br />
と多少ヘルプを見ないといけないかもしれません。<br />
でも、自分が便利と思う機能だけ使いこなせればいいと思うので、そんなにたくさん学ばなくてはいけないわけでもないし、<br />
なにより便利なので最初のヘルプを見る作業を加味しても十分使ってみる価値ありかも。</p>
<p>基本的には分かりやすく使いやすいソフトだと思います。<br />
寄与歓迎のフリーウェアとなっていますが、下手な製品よりよほど良さそう :D</p>
<p><span id="more-52"></span></p>
<p>Dreamweaver のような WYSIWYG ではないのですが、それがまた気にいってます。<br />
WYSIWYG エディタは、時として意図しないコードが勝手に入ったりするのがどうも苦手。<br />
テーブルを作るときなんかは WYSIWYG 最高だと思うんですが、普段は HTML や CSS を手で書くほうが好きです。</p>
<p>ez-HTML の気に入っている特長はこんなかんじ。</p>
<ul>
<li>文字コード・改行コードが多種に対応</li>
<ul>
<li>
   文字コード:<br />JIS / EUC / SJIS / Unicode16LE / Unicode16BE / UTF8 / UTF8N
   </li>
<li>
   改行コード:<br />CR / LF / CRLF
   </li>
</ul>
<li>CSS 編集では、使っている ID や CLASS 名を一覧に表示させることが可能 ( 長くなっても検索を使わずとも探しやすい )</li>
<li>HTML 編集では、コメント一覧からジャンプ可能</li>
<li>HTML の仕様と文法を選択可能 ( XHTML 1.0 Transitional や、XHTML 1.1、i-mode HTML ver5.0 等 )</li>
<li>リンク先の CSS 等も読み込んでのプレビュー可能 ( DW みたいだ )</li>
<li>タブ ( タブでぱっぱっと見れるの便利だと思っています )</li>
</ul>
<p><a href="http://wp.graphact.com/wp-content/uploads/2006/07/ez-html2.jpg" class="lightview" title="HTML コメントへのジャンプ"><img src="http://wp.graphact.com/wp-content/uploads/2006/07/_ez-html2.jpg" width="83" height="83" alt="HTML コメントジャンプ" title="HTML コメントへのジャンプ" class="left_img" /></a><br />
HTML が長くなるとコメントで該当箇所を探すことも多くなり、その際使い勝手よかったです。<br />
<br style="clear: both" /></p>
<p><a href="http://wp.graphact.com/wp-content/uploads/2006/07/ez-html1.jpg" class="lightview" title="CSSの一覧"><img src="http://wp.graphact.com/wp-content/uploads/2006/07/_ez-html1.jpg" width="83" height="83" alt="CSSの一覧" title="CSSの一覧" class="left_img" /></a><br />
CSS の ID や CLASS の一覧。<br />
対応箇所にダブルクリックで飛べます。<br />
<br style="clear: both" /></p>
<p>そのほか、プレビューやタグ入力支援も充実しており、本当に高機能。</p>
<p>ちなみに、シンプルな汎用エディタとしては、<a href="http://www5f.biglobe.ne.jp/~t-susumu/" title="ToClip for Windows" rel="external">TeraPad</a> が文字コード等の指定種類も多くシンプル＆機能は押させており、おすすめです。<br />
ini ファイルとかペペッと開くには、TeraPad がいいかんじ。なにかテキスト系ファイル開くなら、とりあえず TeraPad で開いてみようか、というかんじ。安心の対応力というか…（笑。</p>
<p>シンプルな HTML エディタなら、<a href="http://www.kashim.com/eve/" title="Crescent Eve" rel="external">Crescent Eve</a> がおすすめ。Eve のほうが、HTML や CSS を書くことに特化してます。<br />
※UTF-8はShift_JISに変換可能な文字にのみ対応　←ここが惜しい！</p>
<p>HTML や XTHML、CSS を大量に作業する場合には、DW や ez-html がファイルの繋がりを見てくれて作業しやすいですが、<br />
単体でページを編集するのでであれば Eve も中々いいです。トリプルクリックで１行選択とか好きですね…そういう痒いとこに手が届く感じが素敵だなと思います。それぞれ、そのうち紹介できたらいいな。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.graphact.com/2006/07/22/52/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>_blank を使わない新規ウィンドウの開き方</title>
		<link>http://wp.graphact.com/2006/03/22/29/</link>
		<comments>http://wp.graphact.com/2006/03/22/29/#comments</comments>
		<pubDate>Wed, 22 Mar 2006 14:37:19 +0000</pubDate>
		<dc:creator>hibiki</dc:creator>
				<category><![CDATA[WebCreate]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.graphact.com/memo/2006/03/22/24</guid>
		<description><![CDATA[リンク先を新規ウィンドウで開くやり方と Markdown との兼ね合いについて書きましたが、今日はその続編です。いくつか気になる点があったので、調べてみました。 気になっていたのは、この2点。 先日の javascrip [...]]]></description>
			<content:encoded><![CDATA[<p>リンク先を新規ウィンドウで開くやり方と Markdown との兼ね合いについて書きましたが、今日はその続編です。いくつか気になる点があったので、調べてみました。<br />
気になっていたのは、この2点。</p>
<ul>
<li>先日の javascript では、結局 _blank を後付けで指定しているので、よくないのかも。</li>
<li>
そもそも _blank が推奨されなくなったのは、ユーザーがウィンドウを開くかどうかは決めることであり、サイトの運営者が決めることではない。ということから、らしい。それに沿ってないんじゃないか。
</li>
</ul>
<p>丁度同じようなことを取り上げている方のブログを見つけました。</p>
<p><a href="http://hori-uchi.com/archives/000424.html">hori-uchi.com: _blankを使わないで別ウィンドウを開くにはrel=&#8221;external&#8221;を使うのが美しいと思う。</a></p>
<p>コメント部分含め、参考にさせていただきつつ整理。</p>
<p><span id="more-29"></span></p>
<h2>問題点、注意点</h2>
<ul>
<li>rel 属性は XHTML1.0 Transitional では OK 。 HTML4.0 では rel に指定できる値が決まっている。rel を使うのならば、XHTML1.0 Transitional で書いておくと良さそう。</li>
<li>javascript を用いるとしても、 _blank 指定を後からつけるのでは根本的な解決に至らないので、やはり window.open を使うほうがよい。その場合、javascript がオフであっても困らない対策も必要。</li>
<li>いずれ、rel を使用しないでおくようにしなければならないのなら、いっそ class で指定しちゃうのもアリ</li>
</ul>
<h2>良さそうな手法</h2>
<p>問題点、注意点を考慮して考えてみると、理想はこんな感じでしょうか。</p>
<ul>
<li>
元のリンクはそのウィンドウに開く形態にしておきつつ新規ウィンドウを開きたい人のためになんらかのアイコンなどで新規ウィンドウを開く方法も同時に作っておく。<br />
その際 _blank を付け足すのではなく、 window.open を使用する形で。<br />
※これの欠点は、同じリンクを 2 回記述することになるのでソースが伸びてしまうこと。
</li>
<li>
ユーザーが新規ウィンドウで開くかどうか決められるように javascript で細工をつくり、チェックボックスにチェックをつけた場合には新規ウィンドウを開かない、なんてのも良いかも。
</li>
<li>
javascript で開くようにする場合にも、href に URL を指定する。<br />
( この場合、元のウィンドウが一緒にページが変わってしまわないよう、ちょっとしたポイントがある。)<br />
これによって javascript がオフの環境でリンク先に行けないなどということが起きなくなる。
</li>
</ul>
<p>理想にちょっとでも近づくべく、<a href="http://hori-uchi.com/archives/000424.html">[hori-uchi.com: _blankを使わないで別ウィンドウを開くにはrel="external"を使うのが美しいと思う。</a> の hori-uchi さんのコードを少し改造させていだいて使うことにしました。元のソースの詳細は、上記サイトで確認していただくとして改造したところを書いておきます。</p>
<p>元のコード▼</p>
<pre class="brush: js; auto-links: false;">
function externalLinks() {
if (! document.getElementsByTagName ) return;
var anchors = document.getElementsByTagName(&quot;a&quot;);
for (var i=0; i&lt;anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute(&quot;href&quot;) &amp;&amp; anchor.getAttribute(&quot;rel&quot;) == &quot;external&quot;) {
anchor.onclick = function(event){return popupWindow(this, event);}
anchor.onkeypress = function(event){return popupWindow(this, event);}
}
}
}

function popupWindow(anchor, event){
var keyCode;
if (event &amp;&amp; event.type == &#8216;keypress&#8217;) {
if (event.keyCode)
keyCode = event.keyCode;
else if (event.which)
keyCode = event.which;
// 13 == Return key. 32 == space key
if (keyCode != 13 &amp;&amp; keyCode != 32)
return true;
}
return !window.open(anchor);
}
Event.observe(window,&#8217;load&#8217;, externalLinks, false);
</pre>
<p>もし <code>class="externalLink"</code> と class に指定するならば、<br />
6 行目の rel を class に変更します。<br />
 rel 属性を使って指定するのであれば、そのままで OK です。</p>
<p>26 行目の<br />
<code>Event.observe(window,'load', externalLinks, false);</code> を、<br />
<code>window.onload = external;</code> に変更。</p>
<p>変更したものが、こちら。▼</p>
<pre class="brush: js; auto-links: false;">
function externalLinks() {
if (! document.getElementsByTagName ) return;
var anchors = document.getElementsByTagName(&quot;a&quot;);
for (var i=0; i&lt;anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute(&quot;href&quot;) &amp;&amp; anchor.getAttribute(&quot;class&quot;) == &quot;external&quot;) {
anchor.onclick = function(event){return popupWindow(this, event);}
anchor.onkeypress = function(event){return popupWindow(this, event);}
}
}
}

function popupWindow(anchor, event){
var keyCode;
if (event &amp;&amp; event.type == 'keypress') {
if (event.keyCode)
keyCode = event.keyCode;
else if (event.which)
keyCode = event.which;
// 13 == Return key. 32 == space key
if (keyCode != 13 &amp;&amp; keyCode != 32)
return true;
}
return !window.open(anchor);
}
window.onload = externalLinks;
</pre>
<h2>こういうのが理想かな？</h2>
<p><a href="http://wp.graphact.com/">Numb.<img src="http://wp.graphact.com/wp-content/uploads/img/open.gif" alt="新しいウィンドウに開く" title="新しいウィンドウに開く" class="externalLink" /></a></p>
<p>こんな感じに、「このウィンドウに開く」、「新しいウィンドウに開く」でリンクを 2 つ書くのが本当はいいんじゃないかな～。でも、ちょっと骨が折れますね :roll:<br />
<a href="http://roel.meurders.nl/wordpress-plugins/wp-addquicktag-plugin-for-adding-quicktags/">WP-AddQuicktag</a><br />
 で登録しちゃえば、多少が作業量が軽減される、かも？</p>
<p>私は当面は、XHTML1.0 Transitional を使いながら rel 属性を使って、 javascript でwindow.open を使うようにしてみようかな～と思います。<br />
両方書くのは、続けられる自信が…</p>
<p>もし 2 つリンクを書くようにするならば、こんな感じのものをボタンに登録するつもりです。<br />
<code>&lt;a href="" class="externalLink"&gt;&lt;img src="open.gif" alt="新しいウィンドウを開きます" title="新しいウィンドウを開きます" /&gt;&lt;/a&gt;</code></p>
<p>2 つ書く場合 Markdown を使うと、下記のように書くことになりそうです。ううーむ。<br />
やっぱりちょっと、お手軽さが減っちゃいますね～。</p>
<pre class="brush: plain; auto-links: false;">
[Link](http://xxx.com/)
[<img src="open.gif" alt="新しいウィンドウを開きます" title="新しいウィンドウを開きます" class="externalLink" />](http://xxx.com/" rel="external)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://wp.graphact.com/2006/03/22/29/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

