<?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>QUOIT Blog &#187; JavaScript</title>
	<atom:link href="http://ken.quoit.jp/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://ken.quoit.jp</link>
	<description>Programming, OpenSource, HTML/CSS etc...</description>
	<lastBuildDate>Thu, 05 Apr 2012 02:07:28 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>【作ってみた】JavaScriptでちょっと待ちたい時のAPI</title>
		<link>http://ken.quoit.jp/2011/02/16/%e3%80%90%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%91javascript%e3%81%a7%e3%81%a1%e3%82%87%e3%81%a3%e3%81%a8%e5%be%85%e3%81%a1%e3%81%9f%e3%81%84%e6%99%82%e3%81%aeapi/</link>
		<comments>http://ken.quoit.jp/2011/02/16/%e3%80%90%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%91javascript%e3%81%a7%e3%81%a1%e3%82%87%e3%81%a3%e3%81%a8%e5%be%85%e3%81%a1%e3%81%9f%e3%81%84%e6%99%82%e3%81%aeapi/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 03:23:57 +0000</pubDate>
		<dc:creator>yakumo</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[sleep]]></category>
		<category><![CDATA[wait]]></category>
		<category><![CDATA[作ってみた]]></category>

		<guid isPermaLink="false">http://ken.quoit.jp/?p=762</guid>
		<description><![CDATA[JavaScriptでwait（またはsleep）処理をしたいなーと思う人はたくさんいるみたいです。 （Google　「javascript wait」の検索結果→約 33,400,000 件） 実現の方法はいくつかあるのですが、その提案の一つとしてAPIを作ってみました。 （っていうか個人的にJSONPの勉強したかっただけ） 一応公開しますけど、とっても普通のサーバなのであんまり負荷かけないでね！おにいさんとのやくそくだぞ！ ちなみに、他の方法で実現するとしたらこんな感じでしょう。 JavaScript には Sleep や Wait のような仕組みはありません。 .. &#8211; 人力検索はてな ループで実現するか、setTimeoutを利用するか、どちらかが普通みたいです。 で、今回はAPIを作ったのですが、正直オススメはできませんｗ　←なんで作った 何故なら、APIへのアクセスにラグが発生するからです。 混雑していたら全く信用できないということに。。＾ｑ＾ まぁいろいろぶっ飛ばして公開はしますｗ 使い方は以下。jQueryでのアクセス方法を例に書きます。 アクセスURL http://quoit.jp/tools/wait.php $.ajaxで書く場合 $.ajax({ url: "http://quoit.jp/tools/wait.php?callback=?", data:{ "t": "2" }, dataType: "jsonp", success:function(_ret){ alert(_ret.start); } }); $.getJSONで書く場合 $.getJSON("http://quoit.jp/tools/wait.php?callback=?", {t:"2"}, function(data) { alert("start:"+data.start+" end:"+data.end); }); 引数「t」に秒数を入れます。 返り値はstartとendで、それぞれに開始日時と終了日時が入ります。 細かいことは各自よしなに。 もし使ってみた報告とか頂けたら掲載しまーす！ ※なんか大変なことになったら公開終了します。 ＜追記：2011/02/16 12:52＞ [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>JavaScriptでwait（またはsleep）処理をしたいなーと思う人はたくさんいるみたいです。<br />
（Google　「javascript wait」の検索結果→約 33,400,000 件）</p>
<p>実現の方法はいくつかあるのですが、その提案の一つとしてAPIを作ってみました。<br />
（っていうか個人的にJSONPの勉強したかっただけ）<br />
一応公開しますけど、とっても普通のサーバなのであんまり負荷かけないでね！おにいさんとのやくそくだぞ！</p>
<p><span id="more-762"></span></p>
<p>ちなみに、他の方法で実現するとしたらこんな感じでしょう。</p>
<blockquote><p>
<a href="http://q.hatena.ne.jp/1179364449"  target="_blank">JavaScript には Sleep や Wait のような仕組みはありません。 .. &#8211; 人力検索はてな</a>
</p></blockquote>
<p>ループで実現するか、setTimeoutを利用するか、どちらかが普通みたいです。</p>
<p>で、今回はAPIを作ったのですが、<strong>正直オススメはできませんｗ</strong>　←なんで作った</p>
<p>何故なら、APIへのアクセスにラグが発生するからです。<br />
混雑していたら全く信用できないということに。。＾ｑ＾</p>
<p>まぁいろいろぶっ飛ばして公開はしますｗ</p>
<p>使い方は以下。jQueryでのアクセス方法を例に書きます。</p>
<h5>アクセスURL</h5>
<p>http://quoit.jp/tools/wait.php</p>
<h5>$.ajaxで書く場合</h5>
<pre name="code" class="javascript">
$.ajax({
	url: "http://quoit.jp/tools/wait.php?callback=?",
	data:{
		"t": "2"
	},
	dataType: "jsonp",
	success:function(_ret){
		alert(_ret.start);
	}
});
</pre>
<h5>$.getJSONで書く場合</h5>
<pre name="code" class="javascript">
$.getJSON("http://quoit.jp/tools/wait.php?callback=?",
{t:"2"},
function(data) {
	alert("start:"+data.start+" end:"+data.end);
});
</pre>
<p>引数「t」に秒数を入れます。<br />
返り値はstartとendで、それぞれに開始日時と終了日時が入ります。<br />
細かいことは各自よしなに。</p>
<p>もし使ってみた報告とか頂けたら掲載しまーす！</p>
<p><strong>※なんか大変なことになったら公開終了します。</strong></p>
<p>＜追記：2011/02/16 12:52＞<br />
Twitterご指摘頂いたのですが、「callback=?」って書いてあるのはjQueryの仕様です。下記の記事を参照。</p>
<blockquote><p><a href="http://bit.ly/fLwGmZ"  target="_blank">jQuery.getJSON()で別ドメインのJSONPなデータを読み込む時の注意 &#8211; kanonjiの日記</a></p></blockquote>
<p><strong>引数が「?」って美しくないよね。</strong></p>
<div class="shr-publisher-762"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://ken.quoit.jp/2011/02/16/%e3%80%90%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%91javascript%e3%81%a7%e3%81%a1%e3%82%87%e3%81%a3%e3%81%a8%e5%be%85%e3%81%a1%e3%81%9f%e3%81%84%e6%99%82%e3%81%aeapi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>【作ってみた】Lightboxを作ってみた</title>
		<link>http://ken.quoit.jp/2011/02/04/%e3%80%90%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%91lightbox%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://ken.quoit.jp/2011/02/04/%e3%80%90%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%91lightbox%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 02:04:41 +0000</pubDate>
		<dc:creator>yakumo</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQueryプラグイン]]></category>
		<category><![CDATA[Lightbox]]></category>
		<category><![CDATA[作ってみた]]></category>

		<guid isPermaLink="false">http://ken.quoit.jp/?p=606</guid>
		<description><![CDATA[いつも拝見している 5509 さんのブログで、「誰が使うの？何の役にも立たないjQueryプラグイン10選」というエントリが公開されています。 独創的な発想に満ちたjQueryプラグインで、たぶん使うことはないけど多いに笑えます。 その中の一つ、「これからの新標準LightBox jDTLightBox.js」というLightboxのプラグインがあります。 こちらもご多分に漏れず大変ユニークなプラグインなのですが、そういえば自分でLightbox的なものを作ったことがないなと思い、これを参考に作ってみることにしました。 デモ ダウンロード（140KB） 特徴 かなりシンプルなLightboxです。jQuery利用。 画像(jpg,gif,png)とiframeコンテンツに対応してます。 内容のサイズを取得して、表示サイズが自動で調整されます。 表示の際のアニメーションはありません。 （コメントアウトしてあるところをいじるとアニメーションのヒントになるかも？） 使い方 １）シンプルな利用法（画像の場合） （HTML） 画像を表示 （JavaScript） $("#hoge").qBox(); ２）オプションを指定 （HTML） 画像を表示 （JavaScript） $("#hoge").qBox({ href:"http://quoit.jp/", width:500, height:400 }); 実装課題 ・iframeコンテンツを表示した際の履歴の管理。 　→iframe内でsubmitイベントが発生したときに制御しきれていない 　→完全に制御する必要に迫られなければ問題はないのだろうか。。 ご注意 このスクリプトが原因で発生した不利益、不具合に関しての責任は一切負いません。 ご利用にあたっては自己責任でお願い致します。 ライセンス ライセンスはjDTLightboxを継承してMITです。 基本的にどんなに改造してもらっても構いません。 構造がシンプルなので、初めてLightboxを作ってみようという方にはオススメだと思います。 問題点、改善要望は下記コメント欄かTwitterまで。]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>いつも拝見している <a target="_blank" href="http://twitter.com/5509" >5509</a> さんの<a target="_blank" href="http://5509.me/" >ブログ</a>で、「<a href="http://5509.me/log/10-worthless-jquery-plugins"  target="_blank">誰が使うの？何の役にも立たないjQueryプラグイン10選</a>」というエントリが公開されています。<br />
独創的な発想に満ちたjQueryプラグインで、たぶん使うことはないけど多いに笑えます。<br />
<span id="more-606"></span><br />
その中の一つ、「<a href="http://5509.me/log/jdtlightbox"  target="_blank">これからの新標準LightBox jDTLightBox.js</a>」というLightboxのプラグインがあります。<br />
こちらもご多分に漏れず大変ユニークなプラグインなのですが、そういえば自分でLightbox的なものを作ったことがないなと思い、これを参考に作ってみることにしました。</p>
<p><a href="http://quoit.jp/qBox/"  target="_blank">デモ</a><br />
<a href="http://quoit.jp/dl/qbox.zip" >ダウンロード（140KB）</a></p>
<h5>特徴</h5>
<p>かなりシンプルなLightboxです。jQuery利用。<br />
画像(jpg,gif,png)とiframeコンテンツに対応してます。<br />
内容のサイズを取得して、表示サイズが自動で調整されます。<br />
表示の際のアニメーションはありません。<br />
（コメントアウトしてあるところをいじるとアニメーションのヒントになるかも？）</p>
<h5>使い方</h5>
<p>１）シンプルな利用法（画像の場合）<br />
（HTML）</p>
<pre name="code" class="html">
<a href ="http://quoit.jp/hoge.jpg" id="hoge">画像を表示</a>
</pre>
<p>（JavaScript）</p>
<pre name="code" class="js">
$("#hoge").qBox();
</pre>
<p>２）オプションを指定<br />
（HTML）</p>
<pre name="code" class="html">
<a id="hoge">画像を表示</a>
</pre>
<p>（JavaScript）</p>
<pre name="code" class="js">
$("#hoge").qBox({
   href:"http://quoit.jp/",
   width:500,
   height:400
});
</pre>
<h5>実装課題</h5>
<p>・iframeコンテンツを表示した際の履歴の管理。<br />
　→iframe内でsubmitイベントが発生したときに制御しきれていない<br />
　→完全に制御する必要に迫られなければ問題はないのだろうか。。</p>
<h5>ご注意</h5>
<p>このスクリプトが原因で発生した不利益、不具合に関しての責任は一切負いません。<br />
ご利用にあたっては自己責任でお願い致します。</p>
<h5>ライセンス</h5>
<p>ライセンスはjDTLightboxを継承してMITです。<br />
基本的にどんなに改造してもらっても構いません。<br />
構造がシンプルなので、初めてLightboxを作ってみようという方にはオススメだと思います。</p>
<p>問題点、改善要望は下記コメント欄か<a href="http://twitter.com/yakumo_x"  target="_blank">Twitter</a>まで。</p>
<div class="shr-publisher-606"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://ken.quoit.jp/2011/02/04/%e3%80%90%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%91lightbox%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ボックス内をスクロールすると自動でコンテンツをロードするjQueryをちょっと変えてみた</title>
		<link>http://ken.quoit.jp/2010/05/27/%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%e5%86%85%e3%82%92%e3%82%b9%e3%82%af%e3%83%ad%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e3%81%a8%e8%87%aa%e5%8b%95%e3%81%a7%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84/</link>
		<comments>http://ken.quoit.jp/2010/05/27/%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%e5%86%85%e3%82%92%e3%82%b9%e3%82%af%e3%83%ad%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e3%81%a8%e8%87%aa%e5%8b%95%e3%81%a7%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84/#comments</comments>
		<pubDate>Thu, 27 May 2010 09:34:39 +0000</pubDate>
		<dc:creator>yakumo</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[作ってみた]]></category>

		<guid isPermaLink="false">http://ken.quoit.jp/?p=411</guid>
		<description><![CDATA[ボックス内をスクロールすると自動でコンテンツをロードするjQuery &#8211; かちびと.net を読んで、ちょっとやってみたくなったので作った。 言ってもたいしたことやってませんがｗ かちびと.netのシロさんには許可を頂いてます。 詳細は以下。 上記記事では、下までスクロールしたあとにワンテンポ置いてから（タイマー処理で）コンテンツがロードされる形になってます。 しかし、IEで見てみるとわかるのですが、内側のスクロールが完了した時点で外側のスクロールも動いちゃうんですね。 なので、ロードされる前にページの下に行ってしまう。 これをちょっと改善できないかなーと思って作ったのがこちら。 Auto Scroll Test コードは以下。 &#60;script type=&#8221;text/javascript&#8221;&#62; $(function(){ function updatestatus(){ //ロードしたアイテムの数を表示 var totalItems=$(&#8216;#content p&#8217;).length; $(&#8216;#status&#8217;).text(&#8216;現在、 &#8216;+totalItems+&#8217; 個を表示しています。&#8217;); } function scrollalert(){ var scrolltop=$(&#8216;#scrollbox&#8217;).attr(&#8216;scrollTop&#8217;); var scrollheight=$(&#8216;#scrollbox&#8217;).attr(&#8216;scrollHeight&#8217;); var windowheight=$(&#8216;#scrollbox&#8217;).attr(&#8216;clientHeight&#8217;); var scrolloffset=300; if(scrolltop&#62;=(scrollheight-(windowheight+scrolloffset))) { //新しいアイテムのロード $(&#8216;#status&#8217;).text(&#8216;続きを読み込んでいます・・&#8217;); $.get(&#8216;./hoge.txt&#8217;, &#8221;, function(newitems){ var arr = newitems.split(&#8220;\n&#8221;); for(var i=0;i&#60;arr.length;i++){ $(&#8216;#content&#8217;).append(&#8220;&#60;p&#62;&#8221;+arr[i]+&#8221;&#60;/p&#62;&#8221;); } updatestatus(); }); [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><blockquote><p><a href="http://kachibito.net/web-design/scrolling-dynamic-js.html"  target="_blank">ボックス内をスクロールすると自動でコンテンツをロードするjQuery &#8211; かちびと.net</a></p></blockquote>
<p>を読んで、ちょっとやってみたくなったので作った。<br />
言ってもたいしたことやってませんがｗ</p>
<p><a href="http://kachibito.net/"  target="_blank">かちびと.net</a>の<a href="http://twitter.com/shiroutoSEO"  target="_blank">シロさん</a>には許可を頂いてます。</p>
<p>詳細は以下。</p>
<p><span id="more-411"></span></p>
<p>上記記事では、下までスクロールしたあとにワンテンポ置いてから（タイマー処理で）コンテンツがロードされる形になってます。</p>
<p>しかし、IEで見てみるとわかるのですが、内側のスクロールが完了した時点で外側のスクロールも動いちゃうんですね。</p>
<p>なので、ロードされる前にページの下に行ってしまう。</p>
<p>これをちょっと改善できないかなーと思って作ったのがこちら。</p>
<blockquote><p><a href="http://quoit.jp/auto_scroll/"  target="_blank">Auto Scroll Test</a></p></blockquote>
<p>コードは以下。</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
$(function(){<br />
function updatestatus(){<br />
//ロードしたアイテムの数を表示<br />
var totalItems=$(&#8216;#content p&#8217;).length;<br />
$(&#8216;#status&#8217;).text(&#8216;現在、 &#8216;+totalItems+&#8217; 個を表示しています。&#8217;);<br />
}<br />
function scrollalert(){<br />
var scrolltop=$(&#8216;#scrollbox&#8217;).attr(&#8216;scrollTop&#8217;);<br />
var scrollheight=$(&#8216;#scrollbox&#8217;).attr(&#8216;scrollHeight&#8217;);<br />
var windowheight=$(&#8216;#scrollbox&#8217;).attr(&#8216;clientHeight&#8217;);<br />
var scrolloffset=300;<br />
if(scrolltop&gt;=(scrollheight-(windowheight+scrolloffset)))<br />
{<br />
//新しいアイテムのロード<br />
$(&#8216;#status&#8217;).text(&#8216;続きを読み込んでいます・・&#8217;);<br />
$.get(&#8216;./hoge.txt&#8217;, &#8221;, function(newitems){<br />
var arr = newitems.split(&#8220;\n&#8221;);<br />
for(var i=0;i&lt;arr.length;i++){<br />
$(&#8216;#content&#8217;).append(&#8220;&lt;p&gt;&#8221;+arr[i]+&#8221;&lt;/p&gt;&#8221;);<br />
}<br />
updatestatus();<br />
});<br />
}<br />
}<br />
scrollalert();<br />
$(&#8216;#scrollbox&#8217;).scroll(function(){scrollalert();});<br />
});<br />
&lt;/script&gt;</p></blockquote>
<p>HTMLは元記事と同じです。</p>
<p>処理の変更ポイントは、</p>
<p><strong>１）スクロールが一番下に行く前にロードするようにした</strong><br />
var scrolloffset=300;<br />
の部分ですね。<br />
この数値は「スクロールの一番下のポイントからどのくらい離れた位置でロードするか」という設定になってますので、<br />
「20」になってたのを「300」に増やしました。</p>
<p><strong>２）タイマーをやめて、スクロールイベントにバインドした</strong><br />
元スクリプトでは、タイマー処理で1.5秒毎に関数が実行されるようになってました。<br />
これを変更して、スクロールしたら関数を実行するように変えました。<br />
こうすることで、ちょっとはIE対策になってるはず。。</p>
<p><strong>３）おまけ：　読み込み元のテキストを書き方を変えた</strong><br />
読み込む元テキストが</p>
<blockquote><p>&lt;p&gt;hoge&lt;/p&gt;<br />
&lt;p&gt;hogehoge&lt;/p&gt;<br />
&lt;p&gt;hogehogehoge&lt;/p&gt;</p></blockquote>
<p>となってて、元テキストにHTMLタグが含まれてるのが気に入らないのでｗ</p>
<blockquote><p>hoge<br />
hogehoge<br />
hogehogehoge</p></blockquote>
<p>を読み込んで、JavaScript側で&lt;p&gt;タグをつけるように変更しました。<br />
完全に好みの問題ですけどｗ</p>
<p>こんな感じです。</p>
<p>こうしたほうがいいんじゃない？という意見は随時募集！＾＾</p>
<p>jQueryは簡単に変更できるのが面白いですねー＾＾</p>
<div class="shr-publisher-411"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://ken.quoit.jp/2010/05/27/%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%e5%86%85%e3%82%92%e3%82%b9%e3%82%af%e3%83%ad%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e3%81%a8%e8%87%aa%e5%8b%95%e3%81%a7%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQueryと配列</title>
		<link>http://ken.quoit.jp/2009/10/20/jquery%e3%81%a8%e9%85%8d%e5%88%97/</link>
		<comments>http://ken.quoit.jp/2009/10/20/jquery%e3%81%a8%e9%85%8d%e5%88%97/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 08:32:13 +0000</pubDate>
		<dc:creator>yakumo</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://ken.quoit.jp/?p=261</guid>
		<description><![CDATA[はまったのでメモ書き。 ＜やりたいこと＞ jQueryを使ってAJAXでPHPに配列を渡したい ＜10/26：追記しました＞ ＜前提＞ ・CentOS5.3 ・PHP5.2.11 ・jquery-1.3.2.min.js ＜サンプルソース＞ $.ajax({ type: &#8220;GET&#8221;, url: &#8220;test.php&#8221;, data: { id:[1,2,3,4,5,6,7] }, success: function(){ alert(&#8216;成功しました&#8217;); }, error: function(){ alert(&#8216;エラーです&#8217;); } }); ＜問題点＞ ・jQueryは上記のソースで「id=1&#38;id=2&#38;id=3&#38;id=4&#38;id=5&#38;id=6&#38;id=7」というリクエストを行う →同じキーで複数の値を送信する ・PHPは同じキーで複数の値が送信されていた場合、後から受け取ったものだけが有効になる →上記ソースで受け取れるのは「array(1) { ["id"]=&#62; string(1) &#8220;7&#8243; } 」のみ ＜解決方法＞ 見当たらない。 ので、別の方法を使えということか。 仕方ないので、当面は「カンマ区切りの文字列にしてPHP側で分割」という方法で回避しようと思いますが、 どうにかならないんだろうか？これは… ＜10/26：追記＞ コメントにて提案頂いた方法 data: { &#8220;id[]&#8220;:[1,2,3,4,5,6,7] }, で取得できました…！ これでvar_dumpの結果は array(1) { ["id"]=&#62; array(20) [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>はまったのでメモ書き。</p>
<p><strong>＜やりたいこと＞</strong><br />
jQueryを使ってAJAXでPHPに<strong>配列</strong>を渡したい</p>
<p><strong>＜10/26：追記しました＞</strong></p>
<p><span id="more-261"></span><br />
<strong>＜前提＞</strong><br />
・CentOS5.3<br />
・PHP5.2.11<br />
・jquery-1.3.2.min.js</p>
<p><strong>＜サンプルソース＞</strong></p>
<blockquote><p>$.ajax({<br />
type: &#8220;GET&#8221;,<br />
url: &#8220;test.php&#8221;,<br />
data: {<br />
id:[1,2,3,4,5,6,7]<br />
},<br />
success: function(){<br />
alert(&#8216;成功しました&#8217;);<br />
},<br />
error: function(){<br />
alert(&#8216;エラーです&#8217;);<br />
}<br />
});</p></blockquote>
<p><strong>＜問題点＞</strong><br />
・jQueryは上記のソースで「id=1&amp;id=2&amp;id=3&amp;id=4&amp;id=5&amp;id=6&amp;id=7」というリクエストを行う<br />
→同じキーで複数の値を送信する<br />
・PHPは同じキーで複数の値が送信されていた場合、後から受け取ったものだけが有効になる<br />
→上記ソースで受け取れるのは「array(1) { ["id"]=&gt;  string(1) &#8220;7&#8243; } 」のみ</p>
<p><strong>＜解決方法＞</strong><br />
見当たらない。<br />
ので、別の方法を使えということか。</p>
<p>仕方ないので、当面は「カンマ区切りの文字列にしてPHP側で分割」という方法で回避しようと思いますが、<br />
どうにかならないんだろうか？これは…</p>
<p><strong>＜10/26：追記＞</strong><br />
コメントにて提案頂いた方法</p>
<blockquote><p>data: {<br />
&#8220;id[]&#8220;:[1,2,3,4,5,6,7]<br />
},
</p></blockquote>
<p>で取得できました…！<br />
これでvar_dumpの結果は</p>
<blockquote><p>array(1) {<br />
  ["id"]=&gt;<br />
  array(20) {<br />
    [0]=&gt;<br />
    string(1) &#8220;1&#8243;<br />
    [1]=&gt;<br />
    string(1) &#8220;2&#8243;<br />
    [2]=&gt;<br />
    string(1) &#8220;3&#8243;<br />
    &#8230;&#8230;<br />
}
</p></blockquote>
<p>となりました！！<br />
HOGE-CHONさん、ありがとうございます！</p>
<p>＜さらに追記＞<br />
var_dumpの結果を他のソースから持ってきて不思議なことになってしまっていたので修正しました。失礼しました。</p>
<div class="shr-publisher-261"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://ken.quoit.jp/2009/10/20/jquery%e3%81%a8%e9%85%8d%e5%88%97/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Lyteboxについて</title>
		<link>http://ken.quoit.jp/2009/08/25/lytebox%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/</link>
		<comments>http://ken.quoit.jp/2009/08/25/lytebox%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 02:17:29 +0000</pubDate>
		<dc:creator>yakumo</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Lytebox]]></category>

		<guid isPermaLink="false">http://quoit.jp/ken/?p=15</guid>
		<description><![CDATA[なんかLyteBoxでググったらこのブログが上のほうに来てたので、いろいろ書いておこう。 間違いがあればご指摘頂けると幸いです。 &#8212;&#8211; ご存知の通り、LyteBoxは「LightBox」からの派生です。 写真やHTMLページを画面遷移せずに表示するスクリプト。 Lytebox &#8211; Home 僕はこういうところで使いました。 （手前味噌で申し訳ない。。） 「ギャラリー」として、複数枚の写真をグループ化し、「次へ」「前へ」で移動させることも可能。 この辺は他のページにもあるね。 設置方法は下記参照で以下略（ぉ Lytebox &#8211; 自動再生スライドショー機能付け画像ギャラリー &#8211; オープンソースコラム それともう一つ。 IE8が浸透してきて、LyteBoxの「Close」ボタンが消える問題が発生してきている。 それに関しては下記ブログで紹介されてました。 Lytebox Tips　IE8対応 &#38; 画面close後の遷移 &#124; ANNAI ちなみにコピペだといけません。 コメントで指摘させて頂いたのだが、表示されてない(;_;) ので修正版を書いときます。 （ANNAIの中の方、問題あったらご連絡ください。。） ＜誤＞ lytebox.js 　：81行目 this.ie = (document.all &#38;&#38; !window.opera) ? true : false; を this.ie = (document.all &#38;&#38; !window.opera &#38;&#38; document.documentMode ! = 8) ? [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>なんかLyteBoxでググったらこのブログが上のほうに来てたので、いろいろ書いておこう。</p>
<p>間違いがあればご指摘頂けると幸いです。<br />
<span id="more-15"></span><br />
&#8212;&#8211;<br />
ご存知の通り、LyteBoxは「<a href="http://www.lokeshdhakar.com/projects/lightbox2/"  target="_blank">LightBox</a>」からの派生です。</p>
<p>写真やHTMLページを画面遷移せずに表示するスクリプト。</p>
<blockquote><p><a href="http://www.dolem.com/lytebox/"  target="_blank">Lytebox &#8211; Home</a></p></blockquote>
<p><a href="http://innocentsphere.com/past/index.html"  target="_blank">僕はこういうところで使いました。</a></p>
<p>（手前味噌で申し訳ない。。）</p>
<p>「ギャラリー」として、複数枚の写真をグループ化し、「次へ」「前へ」で移動させることも可能。</p>
<p>この辺は他のページにもあるね。<br />
設置方法は下記参照で以下略（ぉ</p>
<blockquote><p><a href="http://www.syboos.jp/opensource/bookmark/detail/lytebox.html"  target="_blank">Lytebox &#8211; 自動再生スライドショー機能付け画像ギャラリー &#8211; オープンソースコラム</a></p></blockquote>
<p>それともう一つ。</p>
<p>IE8が浸透してきて、LyteBoxの「Close」ボタンが消える問題が発生してきている。</p>
<p>それに関しては下記ブログで紹介されてました。</p>
<blockquote><p><a href="http://an-nai.jp/web-tips/lytebox-tips%E3%80%80ie8%E5%AF%BE%E5%BF%9C-%E7%94%BB%E9%9D%A2close%E5%BE%8C%E3%81%AE%E9%81%B7%E7%A7%BB"  target="_blank">Lytebox Tips　IE8対応 &amp; 画面close後の遷移 | ANNAI</a></p></blockquote>
<p>ちなみにコピペだといけません。</p>
<p>コメントで指摘させて頂いたのだが、表示されてない(;_;)</p>
<p>ので修正版を書いときます。</p>
<p>（ANNAIの中の方、問題あったらご連絡ください。。）</p>
<blockquote><p>
<strong>＜誤＞</strong></p>
<p>lytebox.js 　：81行目</p>
<p>this.ie = (document.all &amp;&amp; !window.opera) ? true : false;</p>
<p>を</p>
<p>this.ie = (document.all &amp;&amp; !window.opera &amp;&amp; document.documentMode ! = 8) ? true : false;</p>
<p>へ変更します。</p></blockquote>
<blockquote><p>
<strong>＜正＞</strong></p>
<p>lytebox.js 　：81行目</p>
<p>this.ie = (document.all &amp;&amp; !window.opera) ? true : false;</p>
<p>を</p>
<p>this.ie = (document.all &amp;&amp; !window.opera &amp;&amp; document.documentMode != 8) ? true : false;</p>
<p>へ変更します。</p></blockquote>
<p>まぁ、付け加えた部分の演算子に半角スペースがあるかないかの違いです。</p>
<p>わかる人ならすぐわかるけど、全く知らない人もいるだろうから、念のため。</p>
<div class="shr-publisher-15"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://ken.quoit.jp/2009/08/25/lytebox%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lyteboxのキャッシュ？　その２</title>
		<link>http://ken.quoit.jp/2009/08/24/lytebox%e3%81%ae%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%ef%bc%9f%e3%80%80%e3%81%9d%e3%81%ae%ef%bc%92/</link>
		<comments>http://ken.quoit.jp/2009/08/24/lytebox%e3%81%ae%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%ef%bc%9f%e3%80%80%e3%81%9d%e3%81%ae%ef%bc%92/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 06:49:52 +0000</pubDate>
		<dc:creator>yakumo</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Lytebox]]></category>

		<guid isPermaLink="false">http://quoit.jp/ken/?p=12</guid>
		<description><![CDATA[前に書いた「Lyteboxのキャッシュ？」について。 その後、現象は自然解決されたようです。 （ブラウザの再起動がきっかけ？） おそらくはブラウザのキャッシュが更新されたのだろうが、なんだか気持ち悪いなぁ。。。 ブラウザのキャッシュについて、 HTMLのヘッダで制限をかける方法もあるけど、完全な制御ではないし。 プログラム出力にすれば良いのかもしれないが、ちょっと納得いかないのは私だけではないはず。 続き＞LyteBoxについて]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>前に書いた「<a href="http://ken.quoit.jp/?eid=1236703"  target="_blank">Lyteboxのキャッシュ？</a>」について。</p>
<p>その後、現象は自然解決されたようです。<br />
（ブラウザの再起動がきっかけ？）</p>
<p>おそらくはブラウザのキャッシュが更新されたのだろうが、なんだか気持ち悪いなぁ。。。</p>
<p>ブラウザのキャッシュについて、<br />
HTMLのヘッダで制限をかける方法もあるけど、完全な制御ではないし。</p>
<p>プログラム出力にすれば良いのかもしれないが、ちょっと納得いかないのは私だけではないはず。</p>
<p>
続き＞<a href="http://ken.quoit.jp/?eid=1239421" >LyteBoxについて</a></p>
<div class="shr-publisher-12"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://ken.quoit.jp/2009/08/24/lytebox%e3%81%ae%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%ef%bc%9f%e3%80%80%e3%81%9d%e3%81%ae%ef%bc%92/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lyteboxのキャッシュ？</title>
		<link>http://ken.quoit.jp/2009/08/21/lytebox%e3%81%ae%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%ef%bc%9f/</link>
		<comments>http://ken.quoit.jp/2009/08/21/lytebox%e3%81%ae%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%ef%bc%9f/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 00:27:18 +0000</pubDate>
		<dc:creator>yakumo</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Lytebox]]></category>

		<guid isPermaLink="false">http://quoit.jp/ken/?p=10</guid>
		<description><![CDATA[Lyteboxを使用しているのだが、 時々キャッシュが残ってしまう現象に遭遇。 ちょっとググってみたが、あまりそういう情報がない。 現象は以下。 １）WindowsVista、IE7（8?）の環境下。 　　サムネイル→拡大画像（LyteBox表示）。 ２）一度同じURLで別画像を表示している。 ３）画像の名称を同じで別画像に差し替え。 ４）その後再表示で、以前の画像が表示される。 　　（リンク元のサムネイルは新しい画像。） ５）IEのインターネット一時ファイルを削除。 ６）問題解消せず。以前の画像が表示され続ける。 ７）FireFoxでは現象再現とれず。 時間が経てばIEのキャッシュもそのうち解消されるのかもしれないが、非常に気持ち悪い。 自分の環境で再現できなかったので、IEのキャッシュ上限変更とかは試せなかった。 誰かこの現象について知ってる人はいないものか。。]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Lyteboxを使用しているのだが、<br />
時々キャッシュが残ってしまう現象に遭遇。</p>
<p>ちょっとググってみたが、あまりそういう情報がない。</p>
<p>現象は以下。</p>
<p></p>
<blockquote><p>１）WindowsVista、IE7（8?）の環境下。<br />
　　サムネイル→拡大画像（LyteBox表示）。</p>
<p>２）一度同じURLで別画像を表示している。</p>
<p>３）画像の名称を同じで別画像に差し替え。</p>
<p>４）その後再表示で、以前の画像が表示される。<br />
　　（リンク元のサムネイルは新しい画像。）</p>
<p>５）IEのインターネット一時ファイルを削除。</p>
<p>６）問題解消せず。以前の画像が表示され続ける。</p>
<p>７）FireFoxでは現象再現とれず。
</p></blockquote>
<p>時間が経てばIEのキャッシュもそのうち解消されるのかもしれないが、非常に気持ち悪い。</p>
<p>自分の環境で再現できなかったので、IEのキャッシュ上限変更とかは試せなかった。</p>
<p>誰かこの現象について知ってる人はいないものか。。</p>
<div class="shr-publisher-10"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://ken.quoit.jp/2009/08/21/lytebox%e3%81%ae%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

