<?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>clicktx::Tech::Memo &#187; JavaScript</title>
	<atom:link href="http://perl.no-tubo.net/category/web%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://perl.no-tubo.net</link>
	<description>perl、 MySQL、オープンソース系、ウェブ系ネタ。なぜか鯖管メモがほとんどを占めている...</description>
	<lastBuildDate>Mon, 23 Jan 2012 10:51:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://perl.no-tubo.net/category/web%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/javascript/feed/" />
		<item>
		<title>JavaScriptの document.getElementById() でnullが帰る対処</title>
		<link>http://perl.no-tubo.net/2011/08/24/javascript%e3%81%ae-document-getelementbyid-%e3%81%a7null%e3%81%8c%e5%b8%b0%e3%82%8b%e5%af%be%e5%87%a6/</link>
		<comments>http://perl.no-tubo.net/2011/08/24/javascript%e3%81%ae-document-getelementbyid-%e3%81%a7null%e3%81%8c%e5%b8%b0%e3%82%8b%e5%af%be%e5%87%a6/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 00:16:23 +0000</pubDate>
		<dc:creator>clicktx</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://perl.no-tubo.net/?p=1927</guid>
		<description><![CDATA[とあるスクリプトで最初の実行時には正常に動作するのだけれど、同一ページを再訪問（リロードではなく）した時に不具合が出た。
webkit系のブラウザで不具合が確認できたのだけれど、どうやらgetElementById()で [...]]]></description>
			<content:encoded><![CDATA[<p>とあるスクリプトで最初の実行時には正常に動作するのだけれど、同一ページを再訪問（リロードではなく）した時に不具合が出た。</p>
<p>webkit系のブラウザで不具合が確認できたのだけれど、どうやらgetElementById()でnullが帰っている様子。</p>
<p>ググってみると同じような現象で悩んでいる人もいるみたい。DOM構築前だとnullが帰る事もあるのが原因のようだ。</p>
<p>onLoadイベントとかはjQuery使っているのなら簡単に実装できるのだけれど、純粋JSで書いているスクリプトだし、他所様に配信するスクリプトなので解決方法を探る。</p>
<p>jQuery使っているのなら、$.ready(function(){&#8230;}) でいいのだろうけど、そうはいかない。じゃあ、onLoadイベントに登録すればいい。いいのだけど、onLoadイベントは１つしか実行できないので工夫が必要になる。</p>
<li><a href="http://lets-customize.seesaa.net/article/101533572.html">Javascript　onloadが複数ある場合の対処法　～FancyZoomとCubeブログシールを共存させる : ブログ・カスタマイズ徒然記</a></li>
<p>ここら辺の記事を参考に <a href="http://www.tek-tips.com/faqs.cfm?fid=4862">How to use multiple window.onload events with external scripts &#8211; Javascript FAQ &#8211; Tek-Tips</a> にある addOnloadEvent を組み込んで対処する。</p>
<p>処理的には document.write() でかいたHTML中にあるIDが付いたタグの中に別処理で作成したHTMLを放り込むもの。</p>
<p>実行したい関数には引数を指定しているので、<br />
addOnloadEvent(function(){ print_image(hoge,fuga) });<br />
みたいな感じにすればonLoadイベントとして実行してくれる。</p>
<p>そうすることで、getElementById()でnullが帰らなくなる。</p>
]]></content:encoded>
			<wfw:commentRss>http://perl.no-tubo.net/2011/08/24/javascript%e3%81%ae-document-getelementbyid-%e3%81%a7null%e3%81%8c%e5%b8%b0%e3%82%8b%e5%af%be%e5%87%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://perl.no-tubo.net/2011/08/24/javascript%e3%81%ae-document-getelementbyid-%e3%81%a7null%e3%81%8c%e5%b8%b0%e3%82%8b%e5%af%be%e5%87%a6/" />
	</item>
		<item>
		<title>JavaScriptでiframe操作時にchromeで不具合がでるのを回避する</title>
		<link>http://perl.no-tubo.net/2011/06/12/javascript%e3%81%a7iframe%e6%93%8d%e4%bd%9c%e6%99%82%e3%81%abchrome%e3%81%a7%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%8c%e3%81%a7%e3%82%8b%e3%81%ae%e3%82%92%e5%9b%9e%e9%81%bf%e3%81%99%e3%82%8b/</link>
		<comments>http://perl.no-tubo.net/2011/06/12/javascript%e3%81%a7iframe%e6%93%8d%e4%bd%9c%e6%99%82%e3%81%abchrome%e3%81%a7%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%8c%e3%81%a7%e3%82%8b%e3%81%ae%e3%82%92%e5%9b%9e%e9%81%bf%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 15:47:58 +0000</pubDate>
		<dc:creator>clicktx</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[chrome]]></category>

		<guid isPermaLink="false">http://perl.no-tubo.net/?p=1778</guid>
		<description><![CDATA[とあるスクリプトで javascriptでiframeを書き、そのフレームをさらに書き換える・・・というものがあるのですが、スクリプトをページ内に複数設置すると、chromeでエラーになってしまうので回避策。
今までは
 [...]]]></description>
			<content:encoded><![CDATA[<p>とあるスクリプトで javascriptでiframeを書き、そのフレームをさらに書き換える・・・というものがあるのですが、スクリプトをページ内に複数設置すると、chromeでエラーになってしまうので回避策。</p>
<p>今までは</p>
<pre>document.write('&lt;IFRAME id="フレーム名" name="フレーム名" ....&gt;&lt;/IFRAME&gt;');</pre>
<p>で描写して、ターゲットとなるiframeを</p>
<pre>var target_iframe = frames[フレーム名];</pre>
<p>で取得していたのですが、これが２度目以降の実行時にundefinedとなってしまう。</p>
<pre>var target_iframe = document.getElementById(ifrname).contentWindow;</pre>
<p>でもやはり取得できず。<br />
他のブラウザでは問題ないので気が付かなかったのだけれど、chromeのみ症状が出た。</p>
<h3>DOMでiframeを追加</h3>
<p>解決策としてはDOMでiframeを追加する事で望んだ結果が得られた。</p>
<pre>var iframe = document.createElement('IFRAME');
iframe.setAttribute('id', 'フレーム名');
iframe.setAttribute('name', 'フレーム名');
...
document.body.appendChild(iframe);</pre>
<p><span id="more-1778"></span><br />
しかし、このままだと追加される位置がまずい。scriptタグの直後にiframeを追加したい。でも、scriptタグ自身にはidも何も付けていない。さぁ困った。</p>
<h3>自分自身の要素(HTMLScriptElement)を取得する</h3>
<p>参考： <a href="http://d.hatena.ne.jp/amachang/20061201/1164986067">とてもシンプルに自分自身が属する script 要素を取得 &#8211; IT戦記</a></p>
<p>こちらの記事で非常に助かった。</p>
<p>実行中のscriptタグ自身の要素取得する。</p>
<pre>var currentScript = (function (e) { if(e.nodeName.toLowerCase() == 'script') return e; return arguments.callee(e.lastChild) })(document);</pre>
<p>注意点としては 要素を取得する前に document.write を使うな、という事。<br />
<a href="http://blog.nyarla.net/2007/01/20/1">「とてもシンプルに自分自身が属する script 要素を取得」の注意点 &#8211; 空繰再繰</a></p>
<p>これで、currentScriptにscriptの要素が取得できるので</p>
<pre>currentScript.parentNode.insertBefore(iframe, currentScript.nextSibling);</pre>
<p>で直後に追加することが出来た。</p>
]]></content:encoded>
			<wfw:commentRss>http://perl.no-tubo.net/2011/06/12/javascript%e3%81%a7iframe%e6%93%8d%e4%bd%9c%e6%99%82%e3%81%abchrome%e3%81%a7%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%8c%e3%81%a7%e3%82%8b%e3%81%ae%e3%82%92%e5%9b%9e%e9%81%bf%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://perl.no-tubo.net/2011/06/12/javascript%e3%81%a7iframe%e6%93%8d%e4%bd%9c%e6%99%82%e3%81%abchrome%e3%81%a7%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%8c%e3%81%a7%e3%82%8b%e3%81%ae%e3%82%92%e5%9b%9e%e9%81%bf%e3%81%99%e3%82%8b/" />
	</item>
		<item>
		<title>Javascript でブラウザ判定 IE 6,7,8 と その他のブラウザ</title>
		<link>http://perl.no-tubo.net/2010/07/01/javascript-%e3%81%a7%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%e5%88%a4%e5%ae%9a-ie-678-%e3%81%a8-%e3%81%9d%e3%81%ae%e4%bb%96%e3%81%ae%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6/</link>
		<comments>http://perl.no-tubo.net/2010/07/01/javascript-%e3%81%a7%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%e5%88%a4%e5%ae%9a-ie-678-%e3%81%a8-%e3%81%9d%e3%81%ae%e4%bb%96%e3%81%ae%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 12:55:29 +0000</pubDate>
		<dc:creator>clicktx</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://perl.no-tubo.net/?p=659</guid>
		<description><![CDATA[IEの6,7,8を判別するJavascript
JavaScriptでIEかどうかをたったの1行で判別する方法
この両者のスクリプトを合わせてみた。
ライブラリを使いたくない（or使えない）状況で役に立つかも。
ちなみに [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.photosynthesic.jp/2010/01/ie678javascript/">IEの6,7,8を判別するJavascript</a><br />
<a href="http://phpspot.org/blog/archives/2007/04/javascriptie1.html">JavaScriptでIEかどうかをたったの1行で判別する方法</a></p>
<p>この両者のスクリプトを合わせてみた。<br />
ライブラリを使いたくない（or使えない）状況で役に立つかも。<br />
ちなみに「IEの6,7,8を判別するJavascript」のコードは間違っていたので少々修正。</p>
<pre>if (typeof document.body.style.maxHeight != "undefined") {
    if (!/*@cc_on!@*/false){
        // Not IE.
        alert('Not IE.');
    }else if (document.documentMode &gt;=8) {
        // IE8
        alert('IE8');
    }else {
        //IE7, IE8（IE7 mode)
        alert('IE7, IE8（IE7 mode)');
    }
} else {
    // IE6, older browsers
    alert(' IE6, older browsers');
}</pre>
<p>Windows XP の IE8、IE7、FireFox、Chromeで確認OK.<br />
Mac の Safari、FireFox、Opera、Chrome でもOK.</p>
]]></content:encoded>
			<wfw:commentRss>http://perl.no-tubo.net/2010/07/01/javascript-%e3%81%a7%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%e5%88%a4%e5%ae%9a-ie-678-%e3%81%a8-%e3%81%9d%e3%81%ae%e4%bb%96%e3%81%ae%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://perl.no-tubo.net/2010/07/01/javascript-%e3%81%a7%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%e5%88%a4%e5%ae%9a-ie-678-%e3%81%a8-%e3%81%9d%e3%81%ae%e4%bb%96%e3%81%ae%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6/" />
	</item>
		<item>
		<title>IE における setAttribute() や getAttribute() や removeAttribute() がだめだめな件</title>
		<link>http://perl.no-tubo.net/2010/07/01/ie-%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8b-setattribute-%e3%82%84-getattribute-%e3%82%84-removeattribute-%e3%81%8c%e3%81%a0%e3%82%81%e3%81%a0%e3%82%81%e3%81%aa%e4%bb%b6/</link>
		<comments>http://perl.no-tubo.net/2010/07/01/ie-%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8b-setattribute-%e3%82%84-getattribute-%e3%82%84-removeattribute-%e3%81%8c%e3%81%a0%e3%82%81%e3%81%a0%e3%82%81%e3%81%aa%e4%bb%b6/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 12:01:19 +0000</pubDate>
		<dc:creator>clicktx</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://perl.no-tubo.net/?p=641</guid>
		<description><![CDATA[相変わらずクソな実装のIE。
他のブラウザで全部動くのにIE 7.0 以下の挙動はホントにクソ。
先人の方々に感謝感激雨あられですわ。
IEでのgetAttribute,setAttributeのバグ

// NG
el [...]]]></description>
			<content:encoded><![CDATA[<p>相変わらずクソな実装のIE。<br />
他のブラウザで全部動くのにIE 7.0 以下の挙動はホントにクソ。<br />
先人の方々に感謝感激雨あられですわ。</p>
<p><a href="http://javascript-memo.seesaa.net/article/26138927.html">IEでのgetAttribute,setAttributeのバグ</a></p>
<blockquote>
<pre>// NG
element.getAttribute("class");
element.setAttribute("style", "background-color: #fff; color: #000;");
element.setAttribute("onclick", "clickHandler(event);");

// OK
element.getAttribute("className");
element.style.cssText = "background-color: #fff; color: #000;";
element.setAttribute("onclick", new Function("clickHandler(event);"));</pre>
</blockquote>
<p><a href="http://nakawake.net/blog/web/javascript/iesetattributeremoveattribute.php">IEでsetAttribute()とremoveAttribute()がうまく動かない問題 (ウップス!!なかわけ)</a></p>
<blockquote>
<pre>しかも、かなり重要なことを発見しました。

属性名を小文字で書かないとうまく動かない！！（IE7で確認）

setAttribute("<span style="color: #ff6600;">onClick</span>", new Function(""));

ではダメなのです。うまく処理されません。

setAttribute("<span style="color: #ff0000;">onclick</span>", new Function(""));</pre>
</blockquote>
<p>あー、これも引っかかってたわ。</p>
<p>ただし、上記の対応をすると他のブラウザで動かない。IE8 でもエラーが出る。IE 7以下用に振り分けないとダメなのか。。。</p>
<p>まぁ、そろそろIE7以下は捨ててもいいよ・・・ね？</p>
<h3>結局</h3>
<p>ベタにHTMLを document.write() で書けばいい訳で・・。<br />
クロスブラウザにするには手間ががかかる・・。</p>
]]></content:encoded>
			<wfw:commentRss>http://perl.no-tubo.net/2010/07/01/ie-%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8b-setattribute-%e3%82%84-getattribute-%e3%82%84-removeattribute-%e3%81%8c%e3%81%a0%e3%82%81%e3%81%a0%e3%82%81%e3%81%aa%e4%bb%b6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://perl.no-tubo.net/2010/07/01/ie-%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8b-setattribute-%e3%82%84-getattribute-%e3%82%84-removeattribute-%e3%81%8c%e3%81%a0%e3%82%81%e3%81%a0%e3%82%81%e3%81%aa%e4%bb%b6/" />
	</item>
		<item>
		<title>http://でアクセスされた場合に強制的にSSLページ(https://)へ移動させるJavaScript</title>
		<link>http://perl.no-tubo.net/2010/05/20/http%e3%81%a7%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%95%e3%82%8c%e3%81%9f%e5%a0%b4%e5%90%88%e3%81%ab%e5%bc%b7%e5%88%b6%e7%9a%84%e3%81%abssl%e3%83%9a%e3%83%bc%e3%82%b8https%e3%81%b8%e7%a7%bb/</link>
		<comments>http://perl.no-tubo.net/2010/05/20/http%e3%81%a7%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%95%e3%82%8c%e3%81%9f%e5%a0%b4%e5%90%88%e3%81%ab%e5%bc%b7%e5%88%b6%e7%9a%84%e3%81%abssl%e3%83%9a%e3%83%bc%e3%82%b8https%e3%81%b8%e7%a7%bb/#comments</comments>
		<pubDate>Thu, 20 May 2010 01:13:29 +0000</pubDate>
		<dc:creator>clicktx</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://perl.no-tubo.net/?p=461</guid>
		<description><![CDATA[自動でSSLページへ移動させるJavaScript
ログインページ等でSSLのみのアクセスにしたいページがある場合、リンクをhttpsから始まるURL にしなくてはならないのでちょっと面倒。
仮想パス(../aaa/bb [...]]]></description>
			<content:encoded><![CDATA[<h1>自動でSSLページへ移動させるJavaScript</h1>
<p>ログインページ等でSSLのみのアクセスにしたいページがある場合、リンクをhttpsから始まるURL にしなくてはならないのでちょっと面倒。</p>
<p>仮想パス(../aaa/bbb/ccc.html)やフルパス(/aaa/bbb.html)で既にサイトを公開している場合には、どこかしらで修正を見逃す場合もある。</p>
<p>それならhttp でアクセスされた場合はhttps へ移動させればよさそう。<br />
head内とかに以下のJavascript を設置するだけでOK.</p>
<pre>&lt;script&gt;&lt;!-- change ssl protocol
  if (document.location.protocol==="http:")
  {location.replace('https://'+window.location.host+window.location.pathname);}
//--&gt;&lt;/script&gt;</pre>
<p>今までのパスを変更しないで済むので多少楽・・・かな。</p>
]]></content:encoded>
			<wfw:commentRss>http://perl.no-tubo.net/2010/05/20/http%e3%81%a7%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%95%e3%82%8c%e3%81%9f%e5%a0%b4%e5%90%88%e3%81%ab%e5%bc%b7%e5%88%b6%e7%9a%84%e3%81%abssl%e3%83%9a%e3%83%bc%e3%82%b8https%e3%81%b8%e7%a7%bb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://perl.no-tubo.net/2010/05/20/http%e3%81%a7%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%95%e3%82%8c%e3%81%9f%e5%a0%b4%e5%90%88%e3%81%ab%e5%bc%b7%e5%88%b6%e7%9a%84%e3%81%abssl%e3%83%9a%e3%83%bc%e3%82%b8https%e3%81%b8%e7%a7%bb/" />
	</item>
		<item>
		<title>Javascriptでクエリーを取得する関数 getQueryStrings</title>
		<link>http://perl.no-tubo.net/2010/02/06/javascript%e3%81%a7%e3%82%af%e3%82%a8%e3%83%aa%e3%83%bc%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b%e9%96%a2%e6%95%b0-getquerystrings/</link>
		<comments>http://perl.no-tubo.net/2010/02/06/javascript%e3%81%a7%e3%82%af%e3%82%a8%e3%83%aa%e3%83%bc%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b%e9%96%a2%e6%95%b0-getquerystrings/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 04:49:43 +0000</pubDate>
		<dc:creator>clicktx</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://perl.no-tubo.net/?p=365</guid>
		<description><![CDATA[location.URLなどから取得するのではなく、例えば下記ページのような事を行う関数。
javascriptでURLクエリで、変数を受け取ることはできないでしょうか？
http://q.hatena.ne.jp/11 [...]]]></description>
			<content:encoded><![CDATA[<p>location.URLなどから取得するのではなく、例えば下記ページのような事を行う関数。</p>
<blockquote><p>javascriptでURLクエリで、変数を受け取ることはできないでしょうか？<br />
<a href="http://q.hatena.ne.jp/1179844292">http://q.hatena.ne.jp/1179844292</a></p></blockquote>
<p>&lt;script src=&#8221;sample.js?key1=value1&amp;key2=value2&#8243;&gt;&lt;/script&gt;</p>
<p>などでクエリー（Javascriptではそう呼ばない？？）を取得する。<br />
注意点としては日本語等マルチバイトの文字をvalueにセットするには、URLエンコードしないとだめかも。<br />
（呼び出し元のHTMLがUTF-8だとうまくいったけど。。。）</p>
<pre>var getQueryStrings = function (){

    // scriptタグからリクエストされたURIを取得し、クエリー(?以降の部分)を抜き出す
    var script = document.getElementsByTagName( 'script' );
    var request = script[script.length-1].src;
    var query =( request.match(/\?(.+)$/) )[1]; //配列に代入されるため[1]の要素を代入

    //
    var pairs = query.split(/&amp;/);
    var form={};
    for (var i in pairs){
        var val = pairs[i].split(/=/);
        form[decodeURI(val[0])] = decodeURI(val[1]);
    }
return form;
};</pre>
<p>使い方は<br />
var form = getQueryStrings();<br />
とするとform にハッシュとして代入される。</p>
<p>form["key1"]やform["key2"]のように。<br />
だいたい form.key1 form.key2 でも大丈夫だと思うけど、key1が数字の場合うまくいかないので注意。<br />
例）sample.js?1=val1&amp;2=val2</p>
<p>なんでこんな事するのかというと、以前はCGIでJavascriptを書き出していたので perl.cgi?k=aaa&amp;〜 と、していた。そのスクリプトをJavascriptとして置き換えるのにURIの変更を（ほぼ）せずに行いたかったので。<br />
こうしないとパラメーターを渡すのにscriptタグの変更が必要なので。</p>
]]></content:encoded>
			<wfw:commentRss>http://perl.no-tubo.net/2010/02/06/javascript%e3%81%a7%e3%82%af%e3%82%a8%e3%83%aa%e3%83%bc%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b%e9%96%a2%e6%95%b0-getquerystrings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://perl.no-tubo.net/2010/02/06/javascript%e3%81%a7%e3%82%af%e3%82%a8%e3%83%aa%e3%83%bc%e3%82%92%e5%8f%96%e5%be%97%e3%81%99%e3%82%8b%e9%96%a2%e6%95%b0-getquerystrings/" />
	</item>
		<item>
		<title>JSONPのIE対応 UTF8で動かない件</title>
		<link>http://perl.no-tubo.net/2009/08/24/jsonp%e3%81%aeie%e5%af%be%e5%bf%9c-utf8%e3%81%a7%e5%8b%95%e3%81%8b%e3%81%aa%e3%81%84%e4%bb%b6/</link>
		<comments>http://perl.no-tubo.net/2009/08/24/jsonp%e3%81%aeie%e5%af%be%e5%bf%9c-utf8%e3%81%a7%e5%8b%95%e3%81%8b%e3%81%aa%e3%81%84%e4%bb%b6/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 08:25:33 +0000</pubDate>
		<dc:creator>clicktx</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSON]]></category>

		<guid isPermaLink="false">http://pet.no-tubo.net/?p=135</guid>
		<description><![CDATA[IEでだけ動作しない事が多いようなのでメモ
JSON(JSONP)で
name(
    {
      'data' :[
                    ['あいう','せそ'],
              [...]]]></description>
			<content:encoded><![CDATA[<p>IEでだけ動作しない事が多いようなのでメモ</p>
<p>JSON(JSONP)で</p>
<pre>name(
    {
      'data' :[
                    ['あいう','せそ'],
                    ['かきく','けこ'],
                    ['さしす','せそ']
              ]
    }
);</pre>
<p>こんな感じのものを使おうとすると<br />
&#8216;]&#8217;がありませんというようなエラーが出る。</p>
<p>cgi等スクリプトで出力する場合はレスポンスヘッダを明示的に指定する必要がある。</p>
<p>perlなら</p>
<blockquote><p>print &#8220;Content-type: application/json; charset=UTF-8;\n\n&#8221;;</p></blockquote>
<p>のように。</p>
<p>charsetは&#8217;<strong>utf8</strong>&#8216;ではダメで&#8217;<strong>UTF-8</strong>&#8216;か&#8217;<strong>utf-8</strong>&#8216;とハイフンが必要のようだ。</p>
<p>Content-typeも application/json とするのが良いらしい。</p>
<p><strong>参考：</strong></p>
<ul>
<li>jQueryの $.getJSON 等を使った Ajax でIEが動作しない件<br />
<a style="font-size: 13px; font-weight: normal; font-style: normal; font-family: Verdana, 'ヒラギノ角ゴ Pro W3', 'ＭＳ ゴシック', Osaka‐等幅; text-align: left; color: #333333; text-decoration: underline; padding: 0px; margin: 0px;" href="http://feedtailor.jp/oishi/2007/07/jquery_getjson_ajax_ie.html" target="_blank">http://feedtailor.jp/oishi/2007/07/jquery_getjson_ajax_ie.html</a></li>
<li>IE+Jsonではまった<br />
<a style="font-size: 13px; font-weight: normal; font-style: normal; font-family: Verdana, 'ヒラギノ角ゴ Pro W3', 'ＭＳ ゴシック', Osaka‐等幅; text-align: left; color: #333333; text-decoration: underline; padding: 0px; margin: 0px;" href="http://d.hatena.ne.jp/khiker/20081026/javascript_json" target="_blank">http://d.hatena.ne.jp/khiker/20081026/javascript_json</a></li>
<li>jQueryでもはまるクロスブラウザ問題まとめ<br />
<a style="font-size: 13px; font-weight: normal; font-style: normal; font-family: Verdana, 'ヒラギノ角ゴ Pro W3', 'ＭＳ ゴシック', Osaka‐等幅; text-align: left; color: #333333; text-decoration: underline; padding: 0px; margin: 0px;" href="http://labs.s-cubism.com/blog/2008/11/10/53/" target="_blank">http://labs.s-cubism.com/blog/2008/11/10/53/</a></li>
</ul>
<p><strong>追記：</strong></p>
<p style="margin-top: 10px; margin-right: 12px; margin-bottom: 10px; margin-left: 12px; font-size: 13px; font-weight: normal; font-style: normal; font-family: Verdana, 'ヒラギノ角ゴ Pro W3', 'ＭＳ ゴシック', Osaka‐等幅; text-align: left; color: #444444; line-height: 1.4; padding: 0px;">どうやら呼び出す時に&lt;script&gt;タグで指定すれば（静的ファイルでも）動作する模様。<br style="font-size: 13px; font-weight: normal; font-style: normal; font-family: Verdana, 'ヒラギノ角ゴ Pro W3', 'ＭＳ ゴシック', Osaka‐等幅; text-align: left; color: #111111; padding: 0px; margin: 0px;" />動的に育成しない場合はレスポンスヘッダの付加は難しいし使えるかも。</p>
<p style="margin-top: 10px; margin-right: 12px; margin-bottom: 10px; margin-left: 12px; font-size: 13px; font-weight: normal; font-style: normal; font-family: Verdana, 'ヒラギノ角ゴ Pro W3', 'ＭＳ ゴシック', Osaka‐等幅; text-align: left; color: #444444; line-height: 1.4; padding: 0px;"><br style="font-size: 13px; font-weight: normal; font-style: normal; font-family: Verdana, 'ヒラギノ角ゴ Pro W3', 'ＭＳ ゴシック', Osaka‐等幅; text-align: left; color: #111111; padding: 0px; margin: 0px;" />例）&lt;script type=&#8221;text/javascript&#8221; src=&#8221;../json.js&#8221; charset=&#8221;utf-8&#8243;&gt;&lt;/script&gt;</p>
<p style="margin-top: 10px; margin-right: 12px; margin-bottom: 10px; margin-left: 12px; font-size: 13px; font-weight: normal; font-style: normal; font-family: Verdana, 'ヒラギノ角ゴ Pro W3', 'ＭＳ ゴシック', Osaka‐等幅; text-align: left; color: #444444; line-height: 1.4; padding: 0px;">この場合、type は text/javascript でのみ動作した。(win XP,IE8)<br style="font-size: 13px; font-weight: normal; font-style: normal; font-family: Verdana, 'ヒラギノ角ゴ Pro W3', 'ＭＳ ゴシック', Osaka‐等幅; text-align: left; color: #111111; padding: 0px; margin: 0px;" />application/json や application/javascript では動作しなかった。</p>
<p style="margin-top: 10px; margin-right: 12px; margin-bottom: 10px; margin-left: 12px; font-size: 13px; font-weight: normal; font-style: normal; font-family: Verdana, 'ヒラギノ角ゴ Pro W3', 'ＭＳ ゴシック', Osaka‐等幅; text-align: left; color: #444444; line-height: 1.4; padding: 0px;">
]]></content:encoded>
			<wfw:commentRss>http://perl.no-tubo.net/2009/08/24/jsonp%e3%81%aeie%e5%af%be%e5%bf%9c-utf8%e3%81%a7%e5%8b%95%e3%81%8b%e3%81%aa%e3%81%84%e4%bb%b6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://perl.no-tubo.net/2009/08/24/jsonp%e3%81%aeie%e5%af%be%e5%bf%9c-utf8%e3%81%a7%e5%8b%95%e3%81%8b%e3%81%aa%e3%81%84%e4%bb%b6/" />
	</item>
	</channel>
</rss>

