<?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; script</title>
	<atom:link href="http://blog.sakurachiro.com/category/script/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sakurachiro.com</link>
	<description>らんざつ[乱雑] （名・形動）[文]ナリ 入り乱れていること。乱れていて秩序がないこと。また、そのさま。</description>
	<lastBuildDate>Fri, 02 Dec 2011 20:09:59 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/category/script/feed/" />
		<item>
		<title>[jQuery]$(this)の親要素や子要素を指定するには。</title>
		<link>http://blog.sakurachiro.com/2011/09/jquery-this-parent-children/</link>
		<comments>http://blog.sakurachiro.com/2011/09/jquery-this-parent-children/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 21:08:50 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[とりあえずメモ]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2559</guid>
		<description><![CDATA[thisを使ってなかったからthisの子要素のアクセス方法が全くわからんかった。 当たり前だけどこんな風に出来無いわけですよね childrenを使うといいみたい。 親にはparent 参考 / まよねこ inside  [...]]]></description>
			<content:encoded><![CDATA[<p>thisを使ってなかったからthisの子要素のアクセス方法が全くわからんかった。</p>
<p>当たり前だけどこんな風に出来無いわけですよね</p>
<pre class="brush: plain; title: ; notranslate">$(&quot;this ul&quot;).addClass(&quot;hogehoge&quot;);</pre>
<p>childrenを使うといいみたい。</p>
<pre class="brush: jscript; title: ; notranslate">$(this).children(&quot;ul&quot;)</pre>
<p>親にはparent</p>
<pre class="brush: jscript; title: ; notranslate">$(this).parent()</pre>
<p>参考 / <a href="http://mayoneco.com/blog/2011/06/jquery_parent_child_2/">まよねこ inside » Blog Archive » 【jQuery】thisの親や子要素の指定方法[リライト版]</a></p>
<p><span class="note2">宿題</span><br />
ひろし+すみれのliからから友蔵+こたけのliを指定するにはどうしたらいいんだろうか。</p>
<pre class="brush: xml; title: ; notranslate">&lt;h1&gt;さくら家&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;name&quot;&gt;友蔵+こたけ&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;name&quot;&gt;ひろし+すみれ&lt;/span&gt;
&lt;ul&gt;
&lt;li class=&quot;name&quot;&gt;さきこ&lt;/li&gt;
&lt;li class=&quot;name&quot;&gt;まるこ&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2011/09/jquery-this-parent-children/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2011/09/jquery-this-parent-children/" />
	</item>
		<item>
		<title>phpでサーバーのフルパスを調べる</title>
		<link>http://blog.sakurachiro.com/2011/09/php-fullpath/</link>
		<comments>http://blog.sakurachiro.com/2011/09/php-fullpath/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 12:36:43 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[ベーシック認証]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2553</guid>
		<description><![CDATA[ベーシック認証をかけたい時に サーバーのフルパスが分からなくて困る人間なのでメモ ちなみに、以下のページで.htaccessと.htpasswdを簡単に作れる。 .htaccess ファイルを簡単作成「.htaccess [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush: php; class-name: php-sh; title: ; notranslate">&lt;?php
echo __FILE__;
?&gt;
</pre>
<p>ベーシック認証をかけたい時に<br />
サーバーのフルパスが分からなくて困る人間なのでメモ</p>
<p>ちなみに、以下のページで.htaccessと.htpasswdを簡単に作れる。<br />
<a href="http://www.htaccesseditor.com/#a_basic">.htaccess ファイルを簡単作成「.htaccess Editor」</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2011/09/php-fullpath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2011/09/php-fullpath/" />
	</item>
		<item>
		<title>concrete5をxampp環境にインストール</title>
		<link>http://blog.sakurachiro.com/2011/06/concrete5-xampp/</link>
		<comments>http://blog.sakurachiro.com/2011/06/concrete5-xampp/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 19:17:33 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[xampp]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[concrete5]]></category>
		<category><![CDATA[session.save_path]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2520</guid>
		<description><![CDATA[concrete5(コンクリートファイブ)というCMSがあるそうです。 concrete5日本語公式サイト by Usagi Project 何がいいのかイマイチ判らないまま仕事で使う事になったので とりあえず動作確認用 [...]]]></description>
			<content:encoded><![CDATA[<p>concrete5(コンクリートファイブ)というCMSがあるそうです。<br />
<a href="http://concrete5-japan.org/">concrete5日本語公式サイト by Usagi Project</a></p>
<p>何がいいのかイマイチ判らないまま仕事で使う事になったので<br />
とりあえず動作確認用にローカルにインストールしてみようとしたら<br />
Warning: session_start()ってエラーがでて<br />
上手くインストール出来なかったよっていうメモ。</p>
<h3>環境</h3>
<p>windows7 64bit<br />
<a href="http://sourceforge.net/projects/xampp/files/">xampp1.7.3</a><br />
<a href="http://concrete5-japan.org/download/">concrete5.4.1.1.1 日本語 最新安定板</a></p>
<h3>インストールの準備</h3>
<p>以下のリンクを参考にphpMyAdminからconcrete5用の空DBを作成<br />
バーチャルホストも用意しておく<br />
うちは_c.localhostにした。</p>
<p><a href="http://blog.kyosuke.jp/2008/11/18/62">inputlog &#8211; Concrete5をxamppにインストール</a><br />
<a href="http://concrete5-japan.org/help/install/gettingready/">インストール準備 :: concrete5日本語公式サイト</a></p>
<h3>インストール</h3>
<p>_c.localhostにアクセスすると下のようなエラーが表示されて先に勧めなかった。</p>
<pre class="brush: plain; title: ; notranslate">Warning: session_start() [function.session-start]: open(\xampp\tmp\sess_jpft2igj399p07rk0ecstj7tn5, O_RDWR) failed: No such file or directory (2) in D:\_webroot\c5\htdocs\concrete\startup\session.php on line 18</pre>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110621_2.png" rel="shadowbox[sbpost-2520];player=img;" title="Warning: session_start() [function.session-start]: open"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110621_2-435x480.png" alt="[image]Warning: session_start() [function.session-start]: open" title="Warning: session_start() [function.session-start]: open" width="435" height="480" class="alignnone size-large wp-image-2521" /></a></p>
<h3>エラーの原因</h3>
<p>どうも、php.iniのsession.save_pathがおかしいみたい。</p>
<pre><code>C:\xampp\php\php.ini</code></pre>
<p>を開いて、1496行目あたりの</p>
<pre><code>session.save_path = "\xampp\tmp"</code></pre>
<p>を<br />
こんな感じに修正</p>
<pre><code>session.save_path="C:/xampp/tmp"</code></pre>
<p>xamppのコントロールパネルからapacheを再起動して<br />
_c.localhostにアクセスしてみるとエラーが消えた。</p>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110622_1.png" rel="shadowbox[sbpost-2520];player=img;" title="エラーが消えた"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110622_1-444x480.png" alt="[image]エラーが消えた" title="エラーが消えた" width="444" height="480" class="alignnone size-large wp-image-2522" /></a></p>
<p>変な達成感があるけど、実際まだ始まってすらいない。</p>
<p>MySQLのサーバーアドレスは<br />
デフォルトだとlocalhostで<br />
その下はMySQLにログインする時のidとpass<br />
データベース名はインストールの準備で作ったヤツ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2011/06/concrete5-xampp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2011/06/concrete5-xampp/" />
	</item>
		<item>
		<title>windows7 64bitにxamppを再インストール</title>
		<link>http://blog.sakurachiro.com/2011/06/windows7-64bit-xampp/</link>
		<comments>http://blog.sakurachiro.com/2011/06/windows7-64bit-xampp/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 18:15:36 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[xampp]]></category>
		<category><![CDATA[とりあえずメモ]]></category>
		<category><![CDATA[ssi]]></category>
		<category><![CDATA[Virtual Host]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2519</guid>
		<description><![CDATA[mysqlのrootパスワード忘れて再インストールした際のやったことメモ。 なんか足りてない気がする。 ダウンロード 旧バージョン(1.7.2)をインストールしたかったので こっちから拾ってきた XAMPP &#8211 [...]]]></description>
			<content:encoded><![CDATA[<p>mysqlのrootパスワード忘れて再インストールした際のやったことメモ。<br />
なんか足りてない気がする。</p>
<h3>ダウンロード</h3>
<p>旧バージョン(1.7.2)をインストールしたかったので<br />
こっちから拾ってきた<br />
<a href="http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/">XAMPP &#8211; Browse /XAMPP Windows at SourceForge.net</a></p>
<p>最新版はこっちにも。<a href="http://www.apachefriends.org/jp/xampp-windows.html">apache friends &#8211; xampp for windows</a></p>
<h3>インストール</h3>
<p>全部デフォルトでポチポチしてって完了。<br />
(※インストール先をc:にすると勝手にxamppフォルダが出来て、c:\xamppにインストールされた。</p>
<h3>設定</h3>
<p>localhostにアクセスして<br />
左側のメニューの<br />
セキュリティ &#8211; セキュリティから</p>
<p>そのような問題をすべて修正するには、単純に次のツールを使ってください。<br />
=> http://localhost/security/xamppsecurity.php <=</p>
<p>をクリックして<br />
パスワードを設定。</p>
<p>パスワード指定時にチェックをいれとかないと<br />
mysqlrootpasswd.txt や<br />
xamppdirpasswd.txt が生成されないみたい。</p>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2009/09/20110621_1.png" rel="shadowbox[sbpost-2519];player=img;" title="セキュリティ"><img src="http://blog.sakurachiro.com/wp-content/uploads/2009/09/20110621_1-463x480.png" alt="[image]セキュリティ" title="セキュリティ" width="463" height="480" class="alignnone size-large wp-image-2517" /></a></p>
<h4>.htaccessをC:\xampp\htdocs か C:\xampp\htdocs\xamppあたりに置くらしいけど</h4>
<pre><code>
Order deny,allow
Deny from All
Allow from localhost 127.0.0.1
</code></pre>
<p>や</p>
<pre><code>
order deny,allow
deny from all
allow from localhost
allow from 127.0.0.1
</code></pre>
<p>みたいなの。<br />
大文字と小文字に違いはあるのかな？</p>
<p>localhostが開かなくなった、なんか間違ってたんだろうか。</p>
<p>あとSSIとバーチャルホスト(バーチャルドメイン？)の設定した。<br />
<a href="http://blog.sakurachiro.com/2011/04/xampp-include-ssi/">xamppでinclude(SSI)を使えるようにする</a><br />
<a href="http://blog.sakurachiro.com/2010/10/site-root-relative-paths-dreamweavr-virtual-domain/">ルートパスとDreamweaverとバーチャルホスト(バーチャルドメイン？)</a></p>
<p>httpd-vhosts.conf<br />
19行目あたりの<br />
<span class="note2">#NameVirtualHost *:80</span>のコメントアウトを解除して<br />
すぐ下に</p>
<pre><code>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
</code></pre>
<p>を追加した。</p>
<p>(※なぜかlocalhostじゃないやつがlocalhostで開いてしまったので</p>
<h3>php.ini</h3>
<p>C:\xampp\php\php.ini<br />
を開いて、mbstringで検索</p>
<p>1771行あたりから始まるmbstringの<br />
;mbstring.language = Japanese<br />
みたいなやつの先頭の「;(セミコロン)」を削除した</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2011/06/windows7-64bit-xampp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2011/06/windows7-64bit-xampp/" />
	</item>
		<item>
		<title>photoshopでfireworksのカンバスを合わせる、的な事をする.jsx</title>
		<link>http://blog.sakurachiro.com/2011/06/photoshop-fit-canvas/</link>
		<comments>http://blog.sakurachiro.com/2011/06/photoshop-fit-canvas/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 19:01:45 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[jsx]]></category>
		<category><![CDATA[カンバスを合わせる]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2502</guid>
		<description><![CDATA[fireworksの「カンバスを合わせる」って便利ですよね photoshopでも使いたい！と思い調べてみたところ イメージ &#8211; トリミングと イメージ &#8211; すべての領域を表示を組み合わせて 同じ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110602_1.png" rel="shadowbox[sbpost-2502];player=img;" title="カンバスをフィット"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110602_1.png" alt="[image]カンバスをフィット" title="カンバスをフィット" width="480" height="297" class="alignnone size-full wp-image-2507" /></a></p>
<p>fireworksの「カンバスを合わせる」って便利ですよね<br />
photoshopでも使いたい！と思い調べてみたところ<br />
<span class="note4">イメージ &#8211; トリミング</span>と<br />
<span class="note4">イメージ &#8211; すべての領域を表示</span>を組み合わせて<br />
同じような事が出来るみたいだったので<br />
.jsxに出来ないかなぁと試してみました。</p>
<p>不具合や必要ない記述があるかと思いますが、自分が使う範囲では困らない感じになったのでとりあえず公開してみます。</p>
<p><span id="more-2502"></span></p>
<p><a href="http://sakurachiro.com/_exercise/javascript/jsx/fit-canvas.jsx" title="カンバスを合わせるjsx">fit-canvas.jsx</a></p>
<p><span class="note2">例1 / before</span> これが<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110602_3.png" rel="shadowbox[sbpost-2502];player=img;" title="例1 / before"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110602_3-480x335.png" alt="[image]例1 / before" title="例1 / before" width="480" height="335" class="alignnone size-large wp-image-2506" /></a></p>
<p><span class="note3">例1 / after</span> こうなる<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110602_4.png" rel="shadowbox[sbpost-2502];player=img;" title="例1 / after"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110602_4-480x335.png" alt="[image]例1 / after" title="例1 / after" width="480" height="335" class="alignnone size-large wp-image-2505" /></a></p>
<p><span class="note2">例2 / before</span> オブジェクトがカンバスの外にはみ出てる場合<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110602_5.png" rel="shadowbox[sbpost-2502];player=img;" title="例2 / before"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110602_5-480x335.png" alt="[image]例2 / before" title="例2 / before" width="480" height="335" class="alignnone size-large wp-image-2504" /></a></p>
<p><span class="note3">例2 / after</span> それを含めてから削る<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110602_6.png" rel="shadowbox[sbpost-2502];player=img;" title="例2 / after"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/06/20110602_6-480x335.png" alt="[image]例2 / after" title="例2 / after" width="480" height="335" class="alignnone size-large wp-image-2503" /></a></p>
<h3>どんな使い方をしてるか</h3>
<p>大元のpsdからパーツを作成する時に<br />
レイヤーを複製で新規ファイルで作成して抽出してるんですけど<br />
その時に、元psdのカンバスサイズを引き継いでしまうので<br />
それを除去するのに使ってます。</p>
<p>※ &#8220;トリミング&#8221; と &#8220;すべての領域を表示&#8221; で削れない部分は削れません。</p>
<h4>超参考にしたページ</h4>
<p><a href="http://www.openspc2.org/book/PhotoshopCS4/">Adobe Photoshop CS4自動化作戦</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2011/06/photoshop-fit-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2011/06/photoshop-fit-canvas/" />
	</item>
		<item>
		<title>スクロールバーを変更するjscrollpane.js</title>
		<link>http://blog.sakurachiro.com/2011/05/jquery-jscrollpane-js/</link>
		<comments>http://blog.sakurachiro.com/2011/05/jquery-jscrollpane-js/#comments</comments>
		<pubDate>Tue, 10 May 2011 13:07:11 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[スクロールバー]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2477</guid>
		<description><![CDATA[SAVEJAPAN! PROJECTのツイッターのスクロールバーのところが、 デザインにあってていいねぇなんて思いながら見ていたら だんだん自分でも使ってみたくなったので調べてみるとjscrollpaneというのを使って [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://savejapan.simone-inc.com/index.html">SAVEJAPAN! PROJECT</a>のツイッターのスクロールバーのところが、<br />
デザインにあってていいねぇなんて思いながら見ていたら<br />
だんだん自分でも使ってみたくなったので調べてみると<a href="http://jscrollpane.kelvinluck.com/index.html">jscrollpane</a>というのを使っているようでした。</p>
<p>これ2009年くらいに話題になったらしいんだけど、全く知りませんでした。。。</p>
<p>ここ / <a href="http://jscrollpane.kelvinluck.com/index.html">jScrollPane &#8211; cross browser styleable scrollbars with jQuery and CSS</a><br />
iframeも、親htmlにjsを追加するだけで(operaでマウスホイールが反応しなかったけど)スクロールバーを追加できたり<br />
子htmlに直接jsを追加する事でマウスホイールも反応するように出来るかんじ。</p>
<h3>練習</h3>
<p><a href="http://sakurachiro.com/_exercise/javascript/jScrollPane/">乱雑モックアップ｜jQueryでツイッターを取得してjscrollpaneを適用</a><br />
<a href="http://sakurachiro.com/_exercise/javascript/jScrollPane/" title="jQueryでツイッターを取得してjscrollpaneを適用のスクリーンショット"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/05/20110511_1.png" alt="[image]jQueryでツイッターを取得してjscrollpaneを適用のスクリーンショット" title="jQueryでツイッターを取得してjscrollpaneを適用のスクリーンショット" width="480" height="297" class="alignnone size-full wp-image-2479" /></a></p>
<h3>ツイッターをjQueryで読み込む方法の参考にしたページ</h3>
<p><a href="http://www.webopixel.net/javascript/9.html">jQueryでTwitterの自分のつぶやきを表示する | webOpixel</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2011/05/jquery-jscrollpane-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2011/05/jquery-jscrollpane-js/" />
	</item>
		<item>
		<title>DreamweaverのjQuery拡張機能 / jQuery Utilities Toolset with Code Utilities</title>
		<link>http://blog.sakurachiro.com/2011/05/jquery-api-extension-for-dreamweaver/</link>
		<comments>http://blog.sakurachiro.com/2011/05/jquery-api-extension-for-dreamweaver/#comments</comments>
		<pubDate>Tue, 03 May 2011 05:17:09 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[dreamweaver]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[拡張機能]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2462</guid>
		<description><![CDATA[Adobe &#8211; Dreamweaver Extension 上の一般、レイアウト、フォームとか書いてあるタブの所にjQueryのタブを追加 ボタンひとつで とか挿入出来る。 jQueryのコードヒント拡張もあ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&amp;extid=2149525" title="jQuery Utilities Toolset with Code Utilities"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/05/20110503_1.png" alt="[image]jQuery Utilities Toolset with Code Utilities" title="jQuery Utilities Toolset with Code Utilities" width="480" height="297" class="alignnone size-full wp-image-2463" /></a></p>
<p><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&amp;extid=2149525">Adobe &#8211; Dreamweaver Extension</a><br />
上の一般、レイアウト、フォームとか書いてあるタブの所にjQueryのタブを追加<br />
ボタンひとつで</p>
<pre class="brush: jscript; title: ; notranslate">$(function(){

});
</pre>
<p>とか挿入出来る。</p>
<p>jQueryのコードヒント拡張もあるみたいなんだけど<br />
<a href="http://xtnd.us/dreamweaver/jquery">jQuery API extension for Dreamweaver | XTND.US &#8211; Xtnd urslf! Extensions for software. Adobe Dreamweaver, Drupal, jQuery, Eclipse, Fireworks</a><br />
Dreamweaaver側のショートカットを変更してるとインストール出来ないのよね</p>
<p>一応
<pre>C:\Users \[ユーザー名]\AppData\Roaming\Adobe\Dreamweaver [各バージョン]\ja_JP\Configuration\Menus\</pre>
<p>のMenus.xmlを削除するとインストール出来る。<br />
変更したショートカットが無くなってしまうので、WinMergeなんかを使って差分をコピったりするのもいいかも。</p>
<p>WinMergeの説明はこちら / <a href="http://blog.sakurachiro.com/2010/10/winmerge/">ファイル比較ツールをWinMergeに変更す</a><br />
WinMerge 日本語版本体はこちら / <a href="http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html">WinMerge 日本語版</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2011/05/jquery-api-extension-for-dreamweaver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2011/05/jquery-api-extension-for-dreamweaver/" />
	</item>
		<item>
		<title>iframeに開くページを、location.searchで受け取った値で変更させちゃっても問題ない？</title>
		<link>http://blog.sakurachiro.com/2011/04/iframe-location-search/</link>
		<comments>http://blog.sakurachiro.com/2011/04/iframe-location-search/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 19:52:42 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2442</guid>
		<description><![CDATA[iframeを持つ1つのhtmlを使い回して 中身だけを変更したいんだけど何かいい方法はないかね？と聞かれて iframeの中身をバラバラに作るくらいならiframeやめなよと答えたけど 気になったので少し考えて loc [...]]]></description>
			<content:encoded><![CDATA[<p>iframeを持つ1つのhtmlを使い回して<br />
中身だけを変更したいんだけど何かいい方法はないかね？と聞かれて<br />
iframeの中身をバラバラに作るくらいならiframeやめなよと答えたけど<br />
気になったので少し考えて<br />
location.～が使えそうじゃない？と以下のソースを書いた</p>
<p>親(index.html</p>
<pre class="brush: xml; title: ; notranslate">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;ja&quot; lang=&quot;ja&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;乱雑モックアップ｜親ページ&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Script-Type&quot; content=&quot;text/javascript&quot; /&gt;

&lt;/head&gt;
&lt;body&gt;
&lt;ul&gt;
 &lt;li&gt;&lt;a href=&quot;after.html?http://www.google.com&quot;&gt;googleを開く&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;after.html?http://www.yahoo.com&quot;&gt;yahooを開く&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>子iframeがあるhtml(after.html</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;ja&quot; lang=&quot;ja&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;乱雑モックアップ｜子ページ&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Script-Type&quot; content=&quot;text/javascript&quot; /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
window.onload=function(){
var innerUrl=location.search.substring(1);
document.getElementById(&quot;innerFrame&quot;).src=innerUrl;
}

&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;iframe id=&quot;innerFrame&quot; src=&quot;&quot; frameborder=&quot;0&quot; width=&quot;640&quot; height=&quot;480&quot;&gt;&lt;/iframe&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>これで、親ページのリンクの?以下の名前<br />
(after.html?http://yahoo.co.jpならhttp://yahoo.co.jp)のファイルを<br />
子のiframeで開けるのだが<br />
これ、大丈夫なんでしょうか？</p>
<pre><code>?javascript:alert('alert');</code></pre>
<p>でalertがでるけど、alertを任意に使えるって事は何か別の事がされるんだろうか？<br />
パスワードなんかを扱わないページは気にしなくていいのだろうか。<br />
という感じで使えるものかわからんので教えてない。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2011/04/iframe-location-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2011/04/iframe-location-search/" />
	</item>
		<item>
		<title>rollover2.jsとoperaと色々復習</title>
		<link>http://blog.sakurachiro.com/2011/03/rollover2js-vertical-align-opera/</link>
		<comments>http://blog.sakurachiro.com/2011/03/rollover2js-vertical-align-opera/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 21:04:05 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>
		<category><![CDATA[cssua.js]]></category>
		<category><![CDATA[rollover2.js]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2337</guid>
		<description><![CDATA[凄く滑らかなロールオーバーを超お手軽に実装できるrollover2.jsというものがあるんですが クロスフェードするロールオーバー処理をお手軽に実装するJavaScript &#8211; KAZUMiX memo クロ [...]]]></description>
			<content:encoded><![CDATA[<p>凄く滑らかなロールオーバーを超お手軽に実装できるrollover2.jsというものがあるんですが<br />
<a href="http://d.hatena.ne.jp/KAZUMiX/20071017/rollover2">クロスフェードするロールオーバー処理をお手軽に実装するJavaScript &#8211; KAZUMiX memo</a><br />
<a href="http://www.rr.iij4u.or.jp/~kazumix/d/javascript/rollover2007XF/xhtml.html">クロスフェードするロールオーバー処理 動作サンプル &#8211; XHTML サンプル | KAZUMiX memo</a></p>
<p>これ、imgにvertical-align:bottom;や<br />
vertical-align:top;を指定してある場合、<br />
operaでpositionの基準点がうまくいってないような感じの<br />
とんでもない表示になってて(v10.50以前は確認してないけど)</p>
<p>例 / positionの基準点がうまくいってない感じの表示<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2011/03/20110301_1.png" rel="shadowbox[sbpost-2337];player=img;" title="左がfirefox、右がopera"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/03/20110301_1-480x79.png" alt="[image]左がfirefox、右がopera" title="左がfirefox、右がopera" width="480" height="79" class="alignnone size-large wp-image-2338" /></a></p>
<p>今気づいたけど<br />
aタグの中にrollover2.jsのロールオーバー対象になるimgだけが入っていると<br />
おかしくなる。</p>
<p>aタグの中にimgの他に、テキストが入っているとおかしくならない。</p>
<h3>蛇足 / imgにvertical-align:bottomしたい(してる)理由</h3>
<p>ご存知vertical-alignの初期値はbaselineなので<br />
アルファベットのg,j,p,q,yの下に飛び出る部分(ディセンダって名称らしい<a href="#anchor1"><sub>*1</sub></a>)の余白が確保され、テキストと並べた時にimgの下に隙間ができちゃう</p>
<p>この隙間を埋めるには、vertical-align:text-bottomを指定するのが定石みたいなんだけど<br />
operaだとテキストの位置がズレてたので(10.50以降？)、<br />
いつしかbottomで指定するようになって<br />
しばらくしてbottomを指定するようになった理由を失念してました。</p>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2011/03/20110301_2.png" rel="shadowbox[sbpost-2337];player=img;" title="safariとoperaを比較 / text-bottomとbottom"><img src="http://blog.sakurachiro.com/wp-content/uploads/2011/03/20110301_2-480x265.png" alt="[image]text-bottomとbottom" title="safariとoperaを比較 / text-bottomとbottom" width="480" height="265" class="alignnone size-large wp-image-2339" /></a><br />
今確認してみたらbottomも表示が変だった＞＜；；；なんだこれ。</p>
<p>とりあえず<br />
vertical-align:text-bottomを指定しとけば<br />
operaでクリック出来なくなるくらい表示が崩れる事はないのかな？</p>
<p>ここから先は失敗を含む試行錯誤メモ</p>
<p><span id="more-2337"></span></p>
<h3>operaだけvertical-align:bottomやtopをそれ以外の値で上書きできないか？</h3>
<p>vertical-align:bottomが基本だと疑ってなかったので<br />
問題のあるoperaだけディセンダが消える別の指定にすればいいかな？と思った</p>
<p>しかしoperaだけにcssを適用出来るハックってのが無いんですよね<br />
(検索して出てくるのはopera11では対策されているのか、効き目がなかった)</p>
<p>で逆に考えて<br />
「opera以外にハックで指定して、通常の指定がoperaだけに適用される」ようにすれば<br />
operaだけvertical-align:text-bottomなんかを指定できるんじゃないか？と思ったけど<br />
面倒なので却下。</p>
<h3>cssua.js / <a href="http://cssuseragent.org/">CssUserAgent (cssua.js)</a>で分岐させる</h3>
<p>最近はてなで見かけたブラウザを判別してhtmlタグにclassを付けてくれるjs<br />
これを使えば簡単にoperaだけにcssを指定できた。</p>
<pre class="brush: css; title: ; notranslate">.ua-opera img{
 vertical-align:text-bottom;
}
img{
 vertical-align:top;
}</pre>
<p>参考 / <a href="http://blog.verygoodtown.com/2011/01/user-agent-specific-css-classes-with-cssuseragent/">もうCSSハックは必要なし!? ブラウザ毎にCSSを切り替える「cssuseragent」 | Web活メモ帳</a></p>
<p>cssua.jsの使い方はcssua.jsを読み込むだけ<br />
cssua.jsを読み込んだページを<br />
operaの&#8221;要素を調べる&#8221;やfirebugでソースをみると<br />
htmlタグにclassがたくさんついてるのが確認できる。</p>
<h3>いやでもjs使わないでどうにかならないかな？</h3>
<p>この時点でまだopera以外もtext-bottomでいいのでは？と想像も出来てない。</p>
<p>aにdisplay:blockしたらvertical-align:bottom;でも問題なく表示できた。<br />
でも全部のaにそんな指定したら困っちゃうし<br />
rollover2.jsの範囲のaだけdisplay:blockするってのは<br />
画像の名前だけで勝手にrolloverを指定出来るせっかくの超便利機能を制限することになるので避けたい。</p>
<h3>display:inline-block;ならどうだろう？</h3>
<p>block要素になればいいみたいだから指定してみたらいい感じだった。<br />
が、いままで問題なかったsafariで<br />
aタグテキストの上部に隙間ができてしまった。</p>
<p>むむむ。</p>
<p>そんで、じゃあそもそもvertical-alignをtext-bottomやtopにすると<br />
どんな問題が発生するんだろう？と<br />
検証してみてら色々こんがらがってきて<br />
結局text-bottomで特に問題なさそうという最初に書いた結論に落ち着きそうな感じ。</p>
<p><span class="note3" id="anchor1">*1</span> 逆にb,d,f,h,k,lなどエックスハイト(小文字のxなどの高さ)の上ミーンライン？より飛び出した分はアセンダって名称らしい。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2011/03/rollover2js-vertical-align-opera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2011/03/rollover2js-vertical-align-opera/" />
	</item>
		<item>
		<title>AS2 / オブジェクトをタイル状に敷き詰める</title>
		<link>http://blog.sakurachiro.com/2010/12/as2-tile/</link>
		<comments>http://blog.sakurachiro.com/2010/12/as2-tile/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 04:07:17 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[as2]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2305</guid>
		<description><![CDATA[[as]objNum=0; margin=50; for(var i=0;i]]></description>
			<content:encoded><![CDATA[<p>[as]objNum=0;<br />
margin=50;<br />
for(var i=0;i<3;i++){<br />
 for(var j=0;j<3;j++){<br />
  objNum++;<br />
  attachMovie("obj","obj"+objNum,objNum)<br />
  this["obj"+objNum]._x=i*margin;<br />
  this["obj"+objNum]._y=j*margin;<br />
 }<br />
}[/as]</p>
<p>AS2のメモ残すのは勇気がいる。</p>
<p><em class="note2">[追記 / 20101211]</em><br />
割って小数点を切り捨てた方が簡単かも<br />
行を出す<br />
[as]maxnum=15;<br />
rowmax=3;<br />
nowline=0;</p>
<p>for(i=0;i<maxnum;i++){<br />
  nowline=Math.floor(i/rowmax);<br />
  trace(nowline);<br />
}[/as]</p>
<p>列は%で<br />
[as]maxnum=15;<br />
rowmax=3;<br />
margin=50;<br />
nowline=0;<br />
nowrow=0;</p>
<p>for(i=0;i<maxnum;i++){<br />
  nowline=Math.floor(i/rowmax);<br />
  nowrow=i%rowmax;<br />
//<br />
  xy={_x:nowrow*margin+margin,_y:nowline*margin+margin};<br />
  _root.attachMovie(&#8220;atobj&#8221;,&#8221;atobj&#8221;+i,i,xy);<br />
  trace(nowline);<br />
  trace(&#8220;nowrow&#8221;+nowrow);<br />
}[/as]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/12/as2-tile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/12/as2-tile/" />
	</item>
		<item>
		<title>ブラウザの表示倍率を無理やり100%に見せる（ただしIE限定、動作確認は8のみ）</title>
		<link>http://blog.sakurachiro.com/2010/12/screen-devicexdpi/</link>
		<comments>http://blog.sakurachiro.com/2010/12/screen-devicexdpi/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 14:57:36 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[ie]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2302</guid>
		<description><![CDATA[サンプル / http://sakurachiro.com/_exercise/html_css/zoom1/index.html （IEで表示倍率を変更すると確認出来ます） ブラウザの表示倍率をリセットする方法は無いか [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sakurachiro.com/_exercise/html_css/zoom1/index.html" target="_blank">サンプル / http://sakurachiro.com/_exercise/html_css/zoom1/index.html</a><br />
（IEで表示倍率を変更すると確認出来ます）</p>
<p>ブラウザの表示倍率をリセットする方法は無いかな？と試行錯誤してみました。</p>
<p>ちょっと調べてみるとscreen.devicexdpiってのを使うと画面のdpiがわかるみたい</p>
<p>参考にさせてもらったページ<br />
<a href="http://javascript.gakaa.com/screen-devicexdpi-2-0-deviceydpi-2-0-logicalxdpi-2-0-logicalydpi.aspx">javascript screen deviceXDPI, deviceYDPI, logicalXDPI, logicalYDPI</a><br />
<a href="http://msdn.microsoft.com/en-us/library/ms533721(VS.85).aspx">deviceXDPI Property (screen, Screen Constructor)</a><br />
<a href="http://gihyo.jp/dev/serial/01/crossbrowser-javascript/0019">これでできる！ クロスブラウザJavaScript入門：第19回　CSSOM View Module解説</a></p>
<p>windowsは96でIEの表示を400%にしてる時は384。</p>
<p>そこに直接数字を入れたらコントロールできるかのか？と<br />
<em>screen.devicexdpi=96;</em>みたいにしても反応なし。<br />
読み取るだけなのか、使い方を間違ってるのかとにかくこの方法じゃ出来なかった。</p>
<p>なのでzoomプロパティを使って拡大してる分を縮小させてみる事に。<br />
こんな感じ</p>
<pre class="brush: jscript; title: ; notranslate">function cz(){
      if (screen.deviceXDPI !=96) {
      var dxd=screen.deviceXDPI;
      var nowMagniFication=dxd/96;
      var chgZoom=1/nowMagniFication;

      document.body.style.zoom=chgZoom;
      document.body.style.width=document.body.clientWidth*nowMagniFication+&quot;px&quot;;
   }
}
window.onload=cz;</pre>
<p>zoomを1になるようにしても<br />
横幅が拡大した時のサイズにあわせて変更されちゃうので<br />
document.body.clientWidthを倍率に合わせて拡張</p>
<p>スクロールバーが表示されるのでbodyにoverflow-x:hidden;を指定して切捨て。<br />
window.onloadとwindow.onresizeで呼び出してみたけど<br />
書き方が悪いのかwindow.onresizeがあると横幅が異常に広がってしまうので削除した。</p>
<p>なんとなくokぽい感じがしないでもないけど<br />
上下marginがあると拡大したままになってしまうのよね、これ。</p>
<p>縦のスクロールも伸びっぱなしでした。<br />
ん～もうちょっと頑張らないと使い物にならないかなぁ。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/12/screen-devicexdpi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/12/screen-devicexdpi/" />
	</item>
		<item>
		<title>まとめてリンケージとリンケージ解除</title>
		<link>http://blog.sakurachiro.com/2010/11/linkage/</link>
		<comments>http://blog.sakurachiro.com/2010/11/linkage/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 20:26:37 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>
		<category><![CDATA[jsfl]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2287</guid>
		<description><![CDATA[たくさんリンケージする時、手動だと面倒なのでjsflでパパパッと済ませてしまおうというメモ。 参考1:リンケージの設定を自動化する &#124; tanablog 上記のソースだとHOGE+連番なので 任意の接頭語+連番になるよう [...]]]></description>
			<content:encoded><![CDATA[<p>たくさんリンケージする時、手動だと面倒なのでjsflでパパパッと済ませてしまおうというメモ。</p>
<p>参考1:<a href="http://blog.kaihatsubu.com/archives/001175.html">リンケージの設定を自動化する | tanablog</a><br />
上記のソースだと<em>HOGE+連番</em>なので<br />
<em>任意の接頭語+連番</em>になるように少し書き換えて.jsflとして保存</p>
<p>こんな感じ。</p>
<pre class="brush: jscript; title: ; notranslate">var library = fl.getDocumentDOM().library;
var items = library.getSelectedItems();

//prompt(&quot;表示されるメッセージ&quot;, &quot;入力されてる文字&quot;)
var myprefix=prompt(&quot;prefix&quot;, &quot;test&quot;)

for (var i = 0; i &lt; items.length; i++) {
//actionscriptに書き出し
  items[i].linkageExportForAS = true;
//最初のフレームに書き出し
  items[i].linkageExportInFirstFrame = true;
  items[i].linkageIdentifier = myprefix + i;
}</pre>
<p>ライブラリの名前を活かしてリンケージさせるならこんな感じ？</p>
<pre class="brush: jscript; title: ; notranslate">var library = fl.getDocumentDOM().library;
var items = library.getSelectedItems();
var myprefix=prompt(&quot;prefixを付けるなら入力&quot;, &quot;test&quot;)

for (var i = 0; i &lt; items.length; i++) {
  items[i].linkageExportForAS = true;
  items[i].linkageExportInFirstFrame = true;
  items[i].linkageIdentifier = myprefix + items[i].name;//ここを変更
}</pre>
<p><em>リンケージを解除するjsfl</em>[引用]</p>
<blockquote cite="http://blog.kaihatsubu.com/archives/001175.html" title="リンケージの設定を自動化する"><pre class="brush: jscript; title: ; notranslate">var library = fl.getDocumentDOM().library;

library.selectAll();
library.setItemProperty(&quot;linkageExportForAS&quot;, false);
</pre>
</blockquote>
<p>プロンプトでラジオボタンみたいなのを表示させて処理を分岐させるにはどうしたらいいんだろう。</p>
<p>参考2:<a href="http://livedocs.adobe.com/flash/9.0_jp/main/flash_cs3_extending.pdf" target="_blank">Flashの拡張機能(pdf)</a></p>
<h3>使い方メモ</h3>
<p>[コマンド] &#8211; [コマンドの実行]からか<br />
作成した.jsflを以下に保存するとツールバーのコマンド内に出現する</p>
<p>xpの場所</p>
<pre class="brush: plain; title: ; notranslate">
C:\Documents and Settings\[ユーザ名]\Local Settings\Application Data\Adobe\Flash CS3\ja\Configuration\Commands
</pre>
<p>参考3:<a href="http://www.yama-ko.net/blog/?p=31" target="_blank">jsflのすすめ &#8211; yama-ko.net blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/11/linkage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/11/linkage/" />
	</item>
		<item>
		<title>AS2 / attachMovieした要素にアクセスする時</title>
		<link>http://blog.sakurachiro.com/2010/11/as2-attachmovie/</link>
		<comments>http://blog.sakurachiro.com/2010/11/as2-attachmovie/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 05:39:28 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[as2]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[とりあえずメモ]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2251</guid>
		<description><![CDATA[綺麗な書き方じゃないってのと、今更AS2ってのはわかってるけどメモ _root.container_dummy.container.photo_root.photo.x_button.onReleaseとか長すぎる。 こ [...]]]></description>
			<content:encoded><![CDATA[<p>綺麗な書き方じゃないってのと、今更AS2ってのはわかってるけどメモ</p>
<pre class="brush: as3; title: ; notranslate">
for (var i = 1; i&lt;=thumbmax; i++) {
 this[&quot;thumb&quot;+i].num = i;
 this[&quot;thumb&quot;+i].onRelease = function() {
  if (flag == &quot;off&quot;) {
   _root.container_dummy.attachMovie(&quot;container&quot;, &quot;container&quot;, 1);
   _root.container_dummy.container.photo_root.attachMovie(&quot;p&quot;+this.num, &quot;photo&quot;, 2);
   _root.flag = &quot;on&quot;;
   //
    _root.container_dummy.container.photo_root.photo.x_button.onRelease = function() {
    if (flag == &quot;on&quot;) {
     remove();
    }
   }
  }
 }
}
</pre>
<p>_root.container_dummy.container.photo_root.photo.x_button.onReleaseとか長すぎる。<br />
こんな風にすると短く指定出来た(5～6行目あたり)</p>
<pre class="brush: as3; title: ; notranslate">
for (var i = 1; i&lt;=thumbmax; i++) {
 this[&quot;thumb&quot;+i].num = i;
 this[&quot;thumb&quot;+i].onRelease = function() {
  if (flag == &quot;off&quot;) {
   var at_c = _root.container_dummy.attachMovie(&quot;container&quot;, &quot;container&quot;, 1);
   var at_p = at_c.photo_root.attachMovie(&quot;p&quot;+this.num, &quot;photo&quot;, 2);
   _root.flag = &quot;on&quot;;
   //
   at_p.onRelease = function() {
    if (flag == &quot;on&quot;) {
     remove();
    }
   }
  }
 }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/11/as2-attachmovie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/11/as2-attachmovie/" />
	</item>
		<item>
		<title>メモ / iframe 高さ取得変更 クロスドメイン</title>
		<link>http://blog.sakurachiro.com/2010/11/iframe-resize/</link>
		<comments>http://blog.sakurachiro.com/2010/11/iframe-resize/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 19:34:43 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>
		<category><![CDATA[iframeのサイズを変更]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2248</guid>
		<description><![CDATA[こちらのページをそのまま参考にしてhttp://ja.w3support.net/index.php?db=so&#038;id=153152 iframeで別ドメインにあるページを開いた時に、自動的にheightを調整 [...]]]></description>
			<content:encoded><![CDATA[<p>こちらのページをそのまま参考にして<a href="http://ja.w3support.net/index.php?db=so&amp;id=153152" class="broken_link">http://ja.w3support.net/index.php?db=so&#038;id=153152</a><br />
iframeで別ドメインにあるページを開いた時に、自動的にheightを調整する方法を試してみた。<br />
(※ 別ドメインにあるファイルにjsを追加する必要あり)</p>
<p>別ドメインのhtmlに手を加えずに出来たら、確実に嬉ションしちゃうけど難しいみたいすなぁ。</p>
<p><span id="more-2248"></span></p>
<h3>構成</h3>
<p> www.foo.com/home.html, which iframes<br />
&nbsp;└＞ www.bar.net/framed.html, which iframes<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;└＞ www.foo.com/helper.html </p>
<h4>記述例</h4>
<p><em>www.foo.com/home.html</em></p>
<pre class="brush: xml; title: ; notranslate">&lt;script&gt;
  // Resize iframe to full height
  function resizeIframe(height)
  {
    // &quot;+60&quot; is a general rule of thumb to allow for differences in
    // IE &amp; and FF height reporting, can be adjusted as required..
    document.getElementById('frame_name_here').height = parseInt(height)+60;
  }
&lt;/script&gt;
&lt;iframe id='frame_name_here' src='http://www.bar.net/framed.html'&gt;&lt;/iframe&gt; </pre>
<p><em>www.bar.net/framed.html</em></p>
<pre class="brush: xml; title: ; notranslate">&lt;body onload=&quot;iframeResizePipe()&quot;&gt;
&lt;iframe id=&quot;helpframe&quot; src='' height='0' width='0' frameborder='0'&gt;&lt;/iframe&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
  function iframeResizePipe()
  {
     // What's the page height?
     var height = document.body.scrollHeight;
     // Going to 'pipe' the data to the parent through the helpframe..
     var pipe = document.getElementById('helpframe');
     // Cachebuster a precaution here to stop browser caching interfering
     pipe.src = 'http://www.foo.com/helper.html?height='+height+'&amp;cacheb='+Math.random();
  }
&lt;/script&gt; </pre>
<p><em>www.foo.com/helper.html</em></p>
<pre class="brush: xml; title: ; notranslate">&lt;html&gt;
&lt;!--
This page is on the same domain as the parent, so can
communicate with it to order the iframe window resizing
to fit the content
--&gt;
  &lt;body onload=&quot;parentIframeResize()&quot;&gt;
    &lt;script&gt;
      // Tell the parent iframe what height the iframe needs to be
      function parentIframeResize()
      {
         var height = getParam('height');
         // This works as our parent's parent is on our domain..
         parent.parent.resizeIframe(height);
      }
      // Helper function, parse param from request string
      function getParam( name )
      {
        name = name.replace(/[\[]/,&quot;\\\[&quot;).replace(/[\]]/,&quot;\\\]&quot;);
        var regexS = &quot;[\\?&amp;]&quot;+name+&quot;=([^&amp;#]*)&quot;;
        var regex = new RegExp( regexS );
        var results = regex.exec( window.location.href );
        if( results == null )
          return &quot;&quot;;
        else
          return results[1];
      }
    &lt;/script&gt;
  &lt;/body&gt;
&lt;/html&gt; </pre>
<h3>追記</h3>
<p>結局iframe先のページに書き込むの事に代わりがないのなら<br />
<a href="http://d.hatena.ne.jp/bannyan/20090820/1250789189">window.postMessage() を使って、クロスドメインの iframe の高さを設定する検証 &#8211; 写経日記</a>の方がシンプルで素敵だ。</p>
<p>でもwindow.postMessage()というのを使っているので<br />
以下のように(見よう見まねで)window.attachEventを追加してもIE7以下は広がらなかったです。</p>
<h4>構成</h4>
<p> www.foo.com/parent.html<br />
&nbsp;└＞ www.bar.net/iframe.html</p>
<p><em>parent.html</em></p>
<pre class="brush: xml; title: ; notranslate">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
if (window.addEventListener) { //for W3C DOM
    window.addEventListener(&quot;message&quot;, receiveSize, false);
} else if (window.attachEvent) { //for IE
window.attachEvent(&quot;onmessage&quot;,receiveSize);
}
    function receiveSize(e) {
        if (e.origin === &quot;http://www.bar.net/&quot;) // for security: set this to the domain of the iframe - use e.uri if you need more specificity
            document.getElementById(&quot;bar&quot;).style.height = e.data + &quot;px&quot;;
    }
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;iframe id=&quot;bar&quot; src=&quot;http://www.bar.net/iframe.html&quot; scrolling=&quot;no&quot; &gt; &lt;/iframe&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p><em>www.bar.net/iframe.html</em></p>
<pre class="brush: xml; title: ; notranslate">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
if (window.addEventListener) { //for W3C DOM
    window.addEventListener(&quot;load&quot;, postSize, false);
}else if (window.attachEvent) { //for IE
window.attachEvent(&quot;onload&quot;,postSize);
}
    function postSize(e){
        var target = parent.postMessage ? parent : (parent.document.postMessage ? parent.document : undefined);
        if (typeof target != &quot;undefined&quot; &amp;&amp; document.body.scrollHeight)
            target.postMessage(document.getElementById(&quot;foo&quot;).scrollHeight, &quot;*&quot;);
    }

&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;foo&quot; style=&quot;height: 1500px; background:red;&quot;&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/11/iframe-resize/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/11/iframe-resize/" />
	</item>
		<item>
		<title>jQueryアコーディオンメニューddaccordion.js (Accordion Content script)の設置メモ</title>
		<link>http://blog.sakurachiro.com/2010/11/accordion-content-script/</link>
		<comments>http://blog.sakurachiro.com/2010/11/accordion-content-script/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 10:35:34 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>
		<category><![CDATA[アコーディオン]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2241</guid>
		<description><![CDATA[ddaccordion.js v1.9現在のお話 Dynamic Drive DHTML Scripts- Accordion Content script (v1.9) このjs最後にクリックした要素をcookieに保 [...]]]></description>
			<content:encoded><![CDATA[<p>ddaccordion.js v1.9現在のお話<br />
<a href="http://www.dynamicdrive.com/dynamicindex17/ddaccordion.htm">Dynamic Drive DHTML Scripts- Accordion Content script (v1.9)</a></p>
<p>このjs最後にクリックした要素をcookieに保存して<br />
ページ変移後に最後にクリックした要素を開いた状態で移動出来るという便利なオプションがあるんだけど<br />
子を持たない親だけのメニューが混ざっていると、<br />
最後に子メニューを持った親をクリックした場所を記憶してしまい<br />
ページ変移後に変なところが開いてしまう(分かりづらいと思うけど)<br />
みたいな面倒な感じだったので途中経過をメモ。</p>
<p>多分すべての要素が子階層を持っているなら問題は無いのだけれども。</p>
<p><span id="more-2241"></span></p>
<h3>ddaccordion.jsを適用したメニュー</h3>
<div id="dd_box">
<ul id="dd_nav">
<li><a href="#" class="dd_navheader">親メニュー1</a>
<ul class="dd_child">
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
</ul>
</li>
<li><a href="#" class="dd_navheader">親メニュー2</a>
<ul class="dd_child">
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
</ul>
</li>
<li><a href="#">子なしメニュー1</a></li>
<li><a href="#" class="dd_navheader">親メニュー3</a>
<ul class="dd_child">
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
<li><a href="#">子メニュー</a></li>
</ul>
</li>
<li><a href="#">子なしメニュー2</a></li>
</ul>
</div>
<p><!--</p>
<pre class="brush: jscript; class-name: js-sh; title: ; notranslate">ddaccordion.init({
	headerclass: &quot;dd_navheader&quot;, //親のクラス名Shared CSS class name of headers group
	contentclass: &quot;dd_child&quot;, //子グループのクラス名Shared CSS class name of contents group
	revealtype: &quot;mouseover&quot;, //イベントの種類をclick、clickgo、mouseoverから選べる。Reveal content when user clicks or onmouseover the header? Valid value: &quot;click&quot;, &quot;clickgo&quot;, or &quot;mouseover&quot;
	mouseoverdelay: 0, //反応する時間ミリ秒 if revealtype=&quot;mouseover&quot;, set delay in milliseconds before header expands onMouseover
	collapseprev: true, //崩壊以前の内容（いつでも、これだけ開いている）？ true / falseのCollapse previous content (so only one open at any time)? true/false
	defaultexpanded: [0], //コンテンツのインデックス（s）がデフォルトの[index1の、index2等]で開きます。 []は、コンテンツを示しています。index of content(s) open by default [index1, index2, etc]. [] denotes no content.
	onemustopen: true, //少なくとも一つのヘッダは、（これは決してすべてのヘッダーが閉じて）は常に開いているかどうかを指定しますSpecify whether at least one header should be open always (so never all headers closed)
	animatedefault: false, //内容は、デフォルトではオープンはすべきビューにアニメーションできますか？Should contents open by default be animated into view?
	persiststate: true, //ブラウザセッション内で開かれた内容の状態を保持？persist state of opened contents within browser session?
	toggleclass: [&quot;&quot;, &quot;chked&quot;], //それが崩壊だ展開時には、それぞれ[&quot;Class1&quot;を、&quot;class2の&quot;]を二つのCSSクラスは、ヘッダーに適用されるTwo CSS classes to be applied to the header when it&#8217;s collapsed and expanded, respectively [&quot;class1&quot;, &quot;class2&quot;]
	togglehtml: [&quot;none&quot;, &quot;&quot;, &quot;&quot;], //それが崩壊だが、それぞれ拡大[&quot;位置&quot;、&quot;html1&quot;、&quot;html2&quot;]を（ドキュメントを参照してください）追加のHTMLヘッダに追加Additional HTML added to the header when it&#8217;s collapsed and expanded, respectively  [&quot;position&quot;, &quot;html1&quot;, &quot;html2&quot;] (see docs)
	animatespeed: &quot;fast&quot;, //アニメーションの速度：整数をミリ秒単位で（例：200）、またはキーワード、&quot;ふつう&quot;、&quot;速い&quot;や&quot;遅い&quot;
OnInitメソッド：{/ /カスタムコード関数（expandedindices）はヘッダーがinitalizedているときに実行するspeed of animation: integer in milliseconds (ie: 200), or keywords &quot;fast&quot;, &quot;normal&quot;, or &quot;slow&quot;
	oninit:function(expandedindices){ //custom code to run when headers have initalized
		//do nothing
	},
	onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
		//do nothing
	}
})</pre>
<p>翻訳はgoogleさん。<br />
--></p>
<pre class="brush: xml; class-name: html-sh; title: ; notranslate">&lt;ul id=&quot;dd_nav&quot;&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot; class=&quot;dd_navheader&quot;&gt;親メニュー1&lt;/a&gt;
  &lt;ul class=&quot;dd_child&quot;&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot; class=&quot;dd_navheader&quot;&gt;親メニュー2&lt;/a&gt;
  &lt;ul class=&quot;dd_child&quot;&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子なしメニュー1&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot; class=&quot;dd_navheader&quot;&gt;親メニュー3&lt;/a&gt;
  &lt;ul class=&quot;dd_child&quot;&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子メニュー&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;#&quot;&gt;子なしメニュー2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>
<pre class="brush: css; class-name: css-sh; title: ; notranslate">
/*cssはあまり関係ないけど*/
#dd_box {
 width:438px;
 padding:20px;
 border:1px solid #E9E1CB;
 background:#FCFBF8;
 color:#fff;
 border-radius: 3px;

}

#dd_nav {
 font-size:80%;
 width:190px;
 background:#000;
 padding:7px 0;
 margin:0 auto;
border-radius : 4px;
 -moz-border-radius:3px;
}
#dd_box a {
 color:#fff;
 text-decoration:none;
 display:block;
 padding:0 10px;
 background:none;
 border:none;
}
/* 親 */
#dd_box li a {
 height:30px;
 line-height:30px;
 background:#000;
}
#dd_box li a:hover, #dd_box .chked { background:#1A4395; }
/* 子 */
#dd_box li li a {
 height:20px;
 line-height:20px;
 padding-left:2em;
 background:#252525;
}
#dd_box li li a:hover { background:#173267; }
#dd_box li { border-top:1px solid #555; }
#dd_box li,#dd_box li li,
#dd_box ul ul{
 list-style:none;
 padding:0;
 margin:0;
}</pre>
<h3>子メニュー無しのページにはclassかidを付けて、それが無ければすべてを閉じるようにした</h3>
<p>例えば子メニューが無いページに.dd_childを付けておく<br />
onloadで.dd_childががあるか無いか調べて、みつかったらアコーディオンを閉じる</p>
<pre class="brush: jscript; class-name: js-sh; title: ; notranslate">window.onload=function(){
  var keywords=&quot;dd_child&quot;;
  var elems = document.getElementsByTagName(&quot;*&quot;);

  for(var i=0;i&lt;elems.length;i++){
  //	alert(elems[i].className);
    if(elems[i].className==keywords){
      ddaccordion.collapseall('dd_navheader');
    }
  }
}</pre>
<p>とりあえずポスト</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/11/accordion-content-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/11/accordion-content-script/" />
	</item>
		<item>
		<title>Firefoxでwindow.innerWidthとdocument.body.clientWidthの値がおかしい</title>
		<link>http://blog.sakurachiro.com/2010/10/firefox-window-innerwidth-document-body-clientwidth-value-is-strange/</link>
		<comments>http://blog.sakurachiro.com/2010/10/firefox-window-innerwidth-document-body-clientwidth-value-is-strange/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 12:04:13 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2234</guid>
		<description><![CDATA[(1マス=100px) ブラウザのbody部分のサイズを取得したくて とやってみたらFirefoxが吐き出す値が大きすぎるうえに あるサイズ以下になると一定の値しか返さなくなる。 アドオンがいけないのかな？とか色々消して [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101027-3.png" alt="[image]取得する値が合わない" title="取得する値が合わない" width="480" height="339" class="alignnone size-full wp-image-2237" /><br />
(1マス=100px)</p>
<p>ブラウザのbody部分のサイズを取得したくて</p>
<pre class="brush: jscript; class-name: js-sh; title: ; notranslate">window.onresize=function(){
w = document.body.clientWidth;
alert(w);
}</pre>
<p>とやってみたらFirefoxが吐き出す値が大きすぎるうえに<br />
あるサイズ以下になると一定の値しか返さなくなる。</p>
<p>アドオンがいけないのかな？とか色々消していったら<br />
ナビゲーションツールバーを非表示にした時に期待した値を取れるようになりました。</p>
<p><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101027-41.png" alt="[image]ナビゲーションツールバーを非表示" title="ナビゲーションツールバーを非表示" width="480" height="339" class="alignnone size-full wp-image-2238" /></p>
<p>ナビゲーションツールバーを無視してサイズを取得するにはどうしたらいいんだろう…</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/10/firefox-window-innerwidth-document-body-clientwidth-value-is-strange/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/10/firefox-window-innerwidth-document-body-clientwidth-value-is-strange/" />
	</item>
		<item>
		<title>PhotoshopCS2以降でオブジェクトを等間隔に分布させる.jsxがあったよ。</title>
		<link>http://blog.sakurachiro.com/2010/10/photoshopcs2-distribute-layers-horizontally/</link>
		<comments>http://blog.sakurachiro.com/2010/10/photoshopcs2-distribute-layers-horizontally/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 14:07:23 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[jsx]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2177</guid>
		<description><![CDATA[illustratorやFireworksにある等間隔に分布ってものそい便利じゃないですか。 でも残念な事にphotoshopは出来ないんですよね、残念な事に。 そこでjsxで出来ないかな？と調べて書いてみようと頑張った [...]]]></description>
			<content:encoded><![CDATA[<p>illustratorやFireworksにある<span class="note3">等間隔に分布</span>ってものそい便利じゃないですか。<br />
でも残念な事にphotoshopは出来ないんですよね、残念な事に。</p>
<p>そこでjsxで出来ないかな？と調べて書いてみようと頑張ったんですけど、<br />
複数選択したレイヤーの情報を取得する事すら出来ずに挫折しました(割と手前の壁)。</p>
<p>しかし、海の向こうではすでに等間隔に分布させるjsxを作って配布されてる方がいらっしゃいました、すごいなー。</p>
<p>ダウンロード:<a href="http://morris-photographics.com/photoshop/scripts/index.html">Adobe Photoshop Scripts | Trevor Morris Photographics</a><br />
垂直方向用のjsxしか試してないけど、水平方向用や他にも沢山jsxがありまんた。</p>
<h3>分布結果の違いを比べてみた画像</h3>
<p>整列前の適当な配置、青い背景はサイズが分かりやすいようにとつけちゃった。<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101018-0.png" rel="shadowbox[sbpost-2177];player=img;" title="元の配置"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101018-0.png" alt="[image]元の配置" title="元の配置" width="480" height="140" class="alignnone size-full wp-image-2185" /></a></p>
<p>photoshopの<em>左端を分布</em> / 重なるよねぇ<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101018-1.png" rel="shadowbox[sbpost-2177];player=img;" title="左端を分布"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101018-1.png" alt="[image]左端を分布で整列させた結果" title="左端を分布" width="480" height="140" class="alignnone size-full wp-image-2181" /></a></p>
<p>photoshopの<em>水平方向中央を分布</em> / 最初何が起きたのか理解できなかった。<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101018-21.png" rel="shadowbox[sbpost-2177];player=img;" title="水平方向中央を分布"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101018-21.png" alt="[image]水平方向中央を分布で整列させた結果" title="水平方向中央を分布" width="480" height="140" class="alignnone size-full wp-image-2182" /></a></p>
<p>photoshopの<em>右端を分布</em> / 重なるよねぇ<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101018-31.png" rel="shadowbox[sbpost-2177];player=img;" title="右端を分布"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101018-31.png" alt="[image]右端を分布で整列させた結果" title="右端を分布" width="480" height="140" class="alignnone size-full wp-image-2183" /></a></p>
<p><a href="http://morris-photographics.com/photoshop/scripts/index.html">Adobe Photoshop Scripts | Trevor Morris Photographics</a>の<br />
<a href="http://morris-photographics.com/photoshop/scripts/distribute-horizontally.html">Photoshop &gt; Scripts &gt; Distribute Layers Horizontally</a>を使用<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101018-4.png" rel="shadowbox[sbpost-2177];player=img;" title="Distribute Layers Horizontally 0-1-4.jsxを使用"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/10/20101018-4.png" alt="[image]Distribute Layers Horizontally 0-1-4.jsxを使った結果" title="Distribute Layers Horizontally 0-1-4.jsxを使用" width="480" height="140" class="alignnone size-full wp-image-2180" /></a><br />
SUGEEEEEEEEEEEE！！！！！1<br />
愛してる！！！！！！！！！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/10/photoshopcs2-distribute-layers-horizontally/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/10/photoshopcs2-distribute-layers-horizontally/" />
	</item>
		<item>
		<title>ie-css3.jsのベータが取れて名前がSelectivizr(:select[ivizr]？)に変わってた</title>
		<link>http://blog.sakurachiro.com/2010/09/selectivizr/</link>
		<comments>http://blog.sakurachiro.com/2010/09/selectivizr/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 09:25:42 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2127</guid>
		<description><![CDATA[IE8以下にcss3の擬似クラスを対応させるjsのバージョンが1.0になって名前と配布サイトが変わってた。 Selectivizr &#8211; CSS3 pseudo-class and attribute sele [...]]]></description>
			<content:encoded><![CDATA[<p>IE8以下にcss3の擬似クラスを対応させるjsのバージョンが1.0になって名前と配布サイトが変わってた。<br />
<a href="http://selectivizr.com/">Selectivizr &#8211; CSS3 pseudo-class and attribute selectors for IE 6-8</a></p>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2010/09/20100923-1.png" rel="shadowbox[sbpost-2127];player=img;" title="Selectivizr - CSS3 pseudo-class and attribute selectors for IE 6-8"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/09/20100923-1-480x312.png" alt="Selectivizrのwebサイト" title="Selectivizr - CSS3 pseudo-class and attribute selectors for IE 6-8" width="480" height="312" class="alignnone size-large wp-image-2128" /></a></p>
<p>いつのまにか擬似否定クラス E:not(s) にも対応してた(0.9.7bから？)</p>
<p><span id="more-2127"></span></p>
<h3>使い方メモ</h3>
<p>ie-css3.jsと変わらない(おそらく)</p>
<p>上記サイトからelectivizr.jsとお好きなjsライブラリをダウンロードしてくる<br />
<a href="http://javascript.nwbox.com/NWMatcher/">NWMatcher &#8211; CSS3 Selector and Matcher</a>にあるNWMatcher 1.2.2.jsを使うと全開でいけるみたい。</p>
<p><span class="note2">ヘッダ部分の例</span></p>
<pre class="brush: xml; class-name: html-sh; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;js/nwmatcher.js&quot;&gt;&lt;/script&gt;
&lt;!--[if lte IE 8]&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/selectivizr.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt; </pre>
<p><span class="note2">気をつける事</span><br />
やっぱり、ローカルじゃ機能しない。<br />
head無いに書いたcssやインラインのcssの指定は効かない。</p>
<p>そこらへんは前回試した0.9.5bと同じですた。<br />
<a href="http://blog.sakurachiro.com/2010/04/ie-css3-js/">ie-css3.js ( :nth-childなどのCSS3擬似クラスをIEでも使えるようにするjs ) で失敗した事。 | 乱雑モックアップ</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/09/selectivizr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/09/selectivizr/" />
	</item>
		<item>
		<title>.psd内のテキストレイヤーからテキストを抽出して.txtファイルに書き出してくれる.jsx</title>
		<link>http://blog.sakurachiro.com/2010/09/psd2txt/</link>
		<comments>http://blog.sakurachiro.com/2010/09/psd2txt/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 16:46:02 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[jsx]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2080</guid>
		<description><![CDATA[Bram.us » PS_BRAMUS.TextExport 1.3 – Automatically export all Text layers from Photoshop PSD to a Text file (P [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bram.us/2008/03/16/ps_bramustextexport-13-automatically-export-all-text-layers-from-photoshop-psd-to-a-text-file/" title="Bram.us"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/09/20100831-2.png" alt="Bram.us(ファイルのあるサイト)" title="Bram.us" width="480" height="297" class="alignnone size-full wp-image-2081" /></a></p>
<p><a href="http://www.bram.us/2008/03/16/ps_bramustextexport-13-automatically-export-all-text-layers-from-photoshop-psd-to-a-text-file/">Bram.us » PS_BRAMUS.TextExport 1.3 – Automatically export all Text layers from Photoshop PSD to a Text file (PSD2TXT)</a></p>
<p>(レイヤー階層で)下にあるテキストレイヤーから順番にテキストを抽出してテキストファイルに書き出してくれる.jsx</p>
<p>フォルダ階層が深いと処理にものすごく時間がかかって不安になる。<br />
逆にフォルダ階層が浅いとテキストレイヤーの数が多くても結構速く終わる感じがしました<br />
(The quick brown fox jumps over the lazy dog.と書いてあるテキストレイヤーを60程複製したpsdを処理させたらだいたい10～20秒くらいで完了しました)。</p>
<p>複数psdを開いている場合</p>
<blockquote title="photoshop上のメッセージ"><p>TextExport has detected Multiple Files.<br />
Do you wish to run TextExport on all opened files?</p></blockquote>
<p>と聞かれるので、開いているファイル全て処理したいなら「はい」にして<br />
選択してるファイルだけ処理したいなら「いいえ」を選ぶ。</p>
<p>随分昔からあるscriptみたいだけど知らなかったなぁ、あると便利でした。<br />
という事でメモ。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/09/psd2txt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/09/psd2txt/" />
	</item>
		<item>
		<title>さくらインターネットのスタンダードプランでphp5.3.3をインストールして使う</title>
		<link>http://blog.sakurachiro.com/2010/08/sakura-std-php533/</link>
		<comments>http://blog.sakurachiro.com/2010/08/sakura-std-php533/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 18:59:08 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[さくらちろ]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2056</guid>
		<description><![CDATA[使用したSSHクライアント / index &#8211; Terminal Emulator Poderosa (さくらインターネットの公式で例に挙げられていたので使った、秘密鍵というのを何度チャレンジしても作れなくて [...]]]></description>
			<content:encoded><![CDATA[<p>使用したSSHクライアント / <a href="http://ja.poderosa.org/">index &#8211; Terminal Emulator Poderosa</a><br />
(さくらインターネットの公式で例に挙げられていたので使った、秘密鍵というのを何度チャレンジしても作れなくてログインが面倒くさい)</p>
<h3>このサイトを参考にしてインストールしました。</h3>
<p><a href="http://d.hatena.ne.jp/kanreisa/20091105/1257422017" class="broken_link">さくらのレンタルサーバーで、php5-mysqli をつかえるようにする覚書。(PHP5.3.0をコンパイルして使う) &#8211; れいさ屋</a></p>
<p>上記サイトに書いてある順番そのまんま入力していくだけでphp5.3.3のインストールに成功した(<em>※コンパイル時のコマンドでmysqlに関係するところを省略したけど</em>)。<br />
サイトが移転したようなので、消えないと思うけど念のため記事を一部引用させていただきます。</p>
<p><em>※php-5.3.0をphp-5.3.3に変更して使った</em></p>
<blockquote><p>作業ディレクトリの作成</p>
<p>mkdir tmp<br />
cd tmp</p>
<p>PHPをダウンロード・解凍</p>
<p><code>wget http://jp.php.net/get/php-5.3.0.tar.gz/from/this/mirror<br />
	tar zxvf php-5.3.0.tar.gz</code></p>
<p>    * TABキーによる補完が利用できます</p>
<p>コンパイル</p>
<p><code>cd php-5.3.0<br />
	./configure --prefix=/home/<username> --with-config-file-path=/home/<username>/www/ --enable-force-cgi-redirect --enable-mbstring --enable-mbregex --enable-calendar --enable-pdo --with-pcre-dir=/usr/local --with-openssl=/usr --with-iconv=/usr/local --with-gd --with-zlib=/usr --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-ttf --with-freetype-dir=/usr/local --with-mysql=/usr/local/mysql/5.1 --with-pdo-mysql=/usr/local/mysql/5.1 --with-mysqli=/usr/local/mysql/5.1/bin/mysql_config --enable-soap --with-curl --with-xsl=/usr/local --enable-dom --with-gettext=/usr/local --enable-exif</code></p>
<p>    * <username>の部分は、書き換えてください。<br />
    * ミソは、&#8211;with-mysqli=/usr/local/mysql/5.1/bin/mysql_config これです。</p>
<p><code>renice +20 -u <username><br />
	make<br />
	make install</code></p>
<p>使って見るには：</p>
<p>このままでは今回コンパイルしたPHPは、使われることはありません。</p>
<p>ドメインごとに、以下の手順をする必要があります。</p>
<p>・例: www.example.com (/home/<username>/www/example.com/)でつかえるようにする場合</p>
<p><code>mkdir /home/<username>/www/example.com/cgi-bin<br />
	cp /home/<username>/bin/php-cgi /home/<username>/www/example.com/cgi-bin/php5.cgi</code></p>
<p>このようにしてphp-cgiをコピーしたら、~/example.com/ディレクトリ上に、.htaccessを作成します。</p>
<p>内容は、</p>
<p><code>Action php5-script /cgi-bin/php5.cgi<br />
	AddHandler php5-script .php .php5</code></p>
<p>こんな感じにします。すると、.php拡張子にアクセスを試みた場合、/cgi-bin/php5.cgiでphpコードが実行されるわけです。ちなみに、デフォルトでmysqliは有効になっています。特に設定は弄る必要ないです。<br />
(推奨)php.iniの設定</p>
<p><code>mbstring.language = Japanese<br />
	mbstring.internal_encoding = UTF-8<br />
	mbstring.http_input = auto<br />
	;mbstring.http_output = UTF-8<br />
	mbstring.detect_order = auto</p>
<p>	date.timezone = Asia/Tokyo</code></p>
<p>コイツは、.htaccessと同じディレクトリに設置しましょう。<br />
おわりに</p>
<p>    * mysqliに限らず、その他組み込まれていないモジュールについても、この方法でつかえるようにすることができます。詳しくは、<a href="http://www.php.net/">php公式サイト</a>あたりをご覧ください。
</p></blockquote>
<p>php.iniの設定の<span class="note2">date.timezone = Asia/Tokyo</span>、これ大事ぽかった。</p>
<h3>なんでphp5.3.3をインストールしたかったか、事の経緯</h3>
<p>iPhoneのユーザー辞書用にファイルを変換するサイト(<a href="http://sakurachiro.com/data/ios4-userwords-diy/">ココ</a>とか<a href="http://sakurachiro.com/data/ios4-userwords/">ここ</a>とか)はphpで作ってて、sqliteをいじったり作成したりするのにPDOクラス(php5.1以降で対応)やらSQLite3クラス(php5.3以降で対応)やらを使ってる。</p>
<p>動作テストはローカルの<a href="http://www.apachefriends.org/jp/xampp-windows.html">xampp</a>でやってた(phpのバージョンは5.3.1みたい)。<br />
なのでPDOクラスもSQLite3クラスも問題なく使えてた。</p>
<p>だがしかし、残念な事に作成したphpを実際に走らせるこのサーバーのphpは5.2.13(CGI版)だった(<a href="http://www.sakura.ne.jp/rentalserver/standard/">さくらインターネットのスタンダードプラン</a>)。<br />
つまり本サーバーではSQLite3クラスが使えない。</p>
<p>そんな最初に気づいておかなきゃいけない大事な事も気にかけずに、よみと単語の.txtを.sqliteに変換して追加したり作成するphpを作ってローカルでテストして問題なさそうだったので、本サーバーにアップしたらあたりまえのように動かない。</p>
<p>せっかく作ったプログラムがこのままだと使えない。<br />
なのでSQLite3クラスを使えるようにする方法を探す。</p>
<h3>PECLのSQLite3拡張モジュールを使えば大丈夫？</h3>
<p><a href="http://pecl.php.net/package/sqlite3/download/0.6">PECL :: Package :: sqlite3 :: download</a></p>
<p>さくらインターネットのスタンダードプランのサーバーにPECLをインストールさせるには、どうもautoheaderとautoconfを弄らないと使えないみたいなんだけど、うちの頭が悪すぎた為にうまいこと設定が出来ずインストール出来なかった。</p>
<p>参考 / <a href="http://dozo.matrix.jp/pecl/%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90">さくらインターネットにPECLをインストール [dozo dokuwiki.php]</a></p>
<p>なので、php自体を5.3以上にしてしまえ！と思ったわけです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/08/sakura-std-php533/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/08/sakura-std-php533/" />
	</item>
		<item>
		<title>mb_strlen()で変な値が返ってくる時は文字エンコードを指定する。</title>
		<link>http://blog.sakurachiro.com/2010/07/mb_strlen/</link>
		<comments>http://blog.sakurachiro.com/2010/07/mb_strlen/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 14:21:10 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=2023</guid>
		<description><![CDATA[strlenは文字列の長さを取得する関数で戻り値はバイト数らしい。 そして、mb_strlenはマルチバイトを考慮して文字列の長さを取得できるそうだ。 こんな感じ。 けれど、ローカルのxamppでは以下の値を取得してしま [...]]]></description>
			<content:encoded><![CDATA[<p>strlenは文字列の長さを取得する関数で戻り値はバイト数らしい。<br />
そして、mb_strlenはマルチバイトを考慮して文字列の長さを取得できるそうだ。</p>
<p>こんな感じ。</p>
<pre class="brush: php; title: ; notranslate">print(mb_strlen(&quot;あ&quot;));
//出力 1
print(mb_strlen(&quot;あいう&quot;));
//出力 3</pre>
<p>けれど、ローカルのxamppでは以下の値を取得してしまった。</p>
<pre class="brush: php; title: ; notranslate">print(mb_strlen(&quot;あ&quot;));
//出力 3
print(mb_strlen(&quot;あいう&quot;));
//出力 9</pre>
<p>phpの内部エンコーディングと合わない時にそうなるみたいで、<br />
解決法はmb_strlen()関数の第2引数に文字エンコードを指定すれば良いみたい</p>
<pre class="brush: php; title: ; notranslate">
print(mb_strlen(&quot;あ&quot;,&quot;utf-8&quot;));
//出力 1
</pre>
<p>あーびっくりした。</p>
<p>参考 / <a href="http://itpro.nikkeibp.co.jp/article/COLUMN/20070307/264117/">21. mb_strlen()関数の落とし穴 &#8211; PHP TIPS：ITpro</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/07/mb_strlen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/07/mb_strlen/" />
	</item>
		<item>
		<title>簡単に Another HTML-lint gatewayで html のチェックが出来るブックマークレット。</title>
		<link>http://blog.sakurachiro.com/2010/06/another-html-lint-bookmarklet/</link>
		<comments>http://blog.sakurachiro.com/2010/06/another-html-lint-bookmarklet/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 15:48:44 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[ブックマークレット]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1835</guid>
		<description><![CDATA[[追記]現在は使えなくなっちゃいました＞＜；；； うおおおおおおおおおおおおおおおお 突然ですがこれは『気合いの雄叫び』ですッ！ 昔は Web developer ( Firefoxのアドオン ) から簡単に、現在見てい [...]]]></description>
			<content:encoded><![CDATA[<p><em class="note2">[追記]</em>現在は使えなくなっちゃいました＞＜；；；</p>
<h3>うおおおおおおおおおおおおおおおお 突然ですがこれは『気合いの雄叫び』ですッ！</h3>
<p>昔は <a href="http://lab.tubonotubo.jp/tools/webdeveloper/index.html">Web developer</a> ( Firefoxのアドオン ) から簡単に、現在見ているページを<a href="http://openlab.ring.gr.jp/k16/htmllint/htmllint.html">Another HTML-lint gateway</a>でチェック出来ていたのですが、ある日気がつけば以下の文言が表示されるようになって慌てた人も多いのではないでしょうか？</p>
<p><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100615-1-480x210.png" alt="[image]このメソッドは禁止しています。 フォームページ から利用して下さい。とブラウザに表示されている画面" title="このメソッドは禁止しています。 フォームページ から利用して下さい。" width="480" height="210" class="alignnone size-large wp-image-1836" /></p>
<p>自分がそうだったからって、他の人もそうなんじゃないですかとか決めつけちゃって失礼ですよね、ごめんなさい。<br />
とりあえず、ひとしきり騒いだ後、<span class="note2">&#8220;外部からのGETリクエスト停止&#8221;</span> になった事を知り肩を落としそして少し泣きました。</p>
<p>それ以来 ( 2009年4月30日以降) html の検証をするには、<a href="http://openlab.ring.gr.jp/k16/htmllint/htmllint.html">Another HTML-lint gateway</a>にアクセスして<br />
チェックしたいHTMLのURLを指定するか、HTMLを下のテキスト領域に直接記述して、[チェック] ボタンを押して使う事になりました。</p>
<p>当時はもう文法チェックする頻度も下がってはいたけど、Web developerからチェックする事に慣れきっちゃっていたので<br />
いざ普通に使おうとしたらウオオオオオ ウダラァーーーッとまでは行かないまでも、面倒くさい事面倒くさい事。</p>
<p>あれから一年余、なんと<em>現在も有効なAnother HTML-lintのブックマークレットがありましたッ！</em>。<br />
<a href="http://www.chopstick-brunch.com/2010/05/000025.html">Another HTML-lintのブックマークレット | 沖縄のWebデザイナーChopstickBrunch</a><br />
また、簡単にlintにかけられるなんて日が来るなんて、感無量。</p>
<p><span id="more-1835"></span></p>
<h3>人は慣れる。</h3>
<p>しばらく ChopstickBrunch 様のブックマークレットを使っていましたが、<br />
これだとチェックしたいページ自体が lint の結果に置き換わってしまう為、若干不便に感じるようになってきました ( ゆとり世代じゃないけどゆとってるなぁ… )。</p>
<p>でもって検証結果を別のタブで開けるようにならないかな？と、勝手に手を加えたのが以下です。</p>
<h4>Another HTML-lint gateway のチェック結果をタブで開くブックマークレット</h4>
<p>( target=&#8221;_blank” なだけだから、タブで開くとは限らないけど )</p>
<pre class="brush: jscript; title: ; notranslate">javascript:var%20f%20=%20document.createElement('form');f.setAttribute('target','_blank');var%20o=new%20Object;o[0]=document.createElement('input');o[0].setAttribute('type','text');o[0].setAttribute('name','Stat');o[0].setAttribute('value','on');o[1]=document.createElement('input');o[1].setAttribute('type','text');o[1].setAttribute('name','Method');o[1].setAttribute('value','URL');o[2]=document.createElement('input');o[2].setAttribute('type','text');o[2].setAttribute('name','URL');o[2].setAttribute('value',location.href);o[3]=document.createElement('input');o[3].setAttribute('type','text');o[3].setAttribute('name','ViewSource');o[3].setAttribute('value','on');for(var%20i%20in%20o){f.appendChild(o[i]);}document.body.appendChild(f);f.action%20=%20'http://openlab.ring.gr.jp/k16/htmllint/htmllint.cgi';f.method%20=%20'POST';f.submit();</pre>
<p>このリンクをブックマークしてもおkです&rarr; <a href="<br />
javascript:var%20f%20=%20document.createElement('form');f.setAttribute('target','_blank');var%20o=new%20Object;o[0]=document.createElement('input');o[0].setAttribute('type','text');o[0].setAttribute('name','Stat');o[0].setAttribute('value','on');o[1]=document.createElement('input');o[1].setAttribute('type','text');o[1].setAttribute('name','Method');o[1].setAttribute('value','URL');o[2]=document.createElement('input');o[2].setAttribute('type','text');o[2].setAttribute('name','URL');o[2].setAttribute('value',location.href);o[3]=document.createElement('input');o[3].setAttribute('type','text');o[3].setAttribute('name','ViewSource');o[3].setAttribute('value','on');for(var%20i%20in%20o){f.appendChild(o[i]);}document.body.appendChild(f);f.action%20=%20'http://openlab.ring.gr.jp/k16/htmllint/htmllint.cgi';f.method%20=%20'POST';f.submit();">Another HTML-lint タブで開く</a></p>
<h3>ブックマークレットの使い方</h3>
<p>うちもほとんど使った事がないんですけど簡単です。<br />
FirefoxやChromeだと上のリンク(Another HTML-lint タブで開く)をブックマークツールバーまでドラッグ&amp;ドロップ<br />
IE8だと(6や7も?) リンクを右クリックして、お気に入りに追加、なんかalertが開くけどok。</p>
<p>lintチェックしたいページでお気に入りに入っているリンクをクリックすれば実行。</p>
<p>別窓や別タブで結果が開くのウザイよって場合は<br />
<a href="http://www.chopstick-brunch.com/2010/05/000025.html">Another HTML-lintのブックマークレット | 沖縄のWebデザイナーChopstickBrunch</a>様のページを参考にしてみてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/06/another-html-lint-bookmarklet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/06/another-html-lint-bookmarklet/" />
	</item>
		<item>
		<title>[無料のiPhoneアプリ] いつでも、どこでも、JavaScriptプログラミング！ / JavaScript Anywhere で jQuery。</title>
		<link>http://blog.sakurachiro.com/2010/06/javascript-anywhere/</link>
		<comments>http://blog.sakurachiro.com/2010/06/javascript-anywhere/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 17:45:11 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[iPhone/iTunes]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Google Code]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1823</guid>
		<description><![CDATA[ちょっと前に見つけて入れてみた iPhone app JavaScript Anywhere が素敵です。 作者様のサイト JavaScript Anywhere HTML、外部.js、外部.cssの各1ファイルを自由に [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100610-1.png" rel="shadowbox[sbpost-1823];player=img;" title="javascript anywhere"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100610-1-e1276103394936.png" alt="[image]javascript anywhereダウンロードページ" title="javascript anywhere" width="480" height="297" class="alignnone size-large wp-image-1824" /></a><br />
ちょっと前に見つけて入れてみた iPhone app <a href="http://itunes.apple.com/jp/app/javascript-anywhere/id363452277?mt=8" target="_blank">JavaScript Anywhere</a> が素敵です。<br />
<span class="note2">作者様のサイト</span><br />
<a href="http://jsany.bornneet.com/">JavaScript Anywhere</a></p>
<p><span class="note2">HTML</span>、<span class="note3">外部.js</span>、<span class="note4">外部.css</span>の各1ファイルを自由に編集していつでもどこでも内蔵ブラウザで動作確認(実行)できます。<br />
そして出来たモノを自分宛にメール送信する事も可能。<br />
iPhoneのキーボードだとタグの入力が恐ろしく面倒臭いんですけど(個人的に &#8216; (シングルクォーテーション)を入力した後にアルファベットに戻るのが納得いかない)、人って慣れるもの。<br />
けどiPhoneで辞書登録ができたら定型文を使えて便利なのになぁ。</p>
<h3>でもって JavaScript Anywhere を使って jQuery の練習をする</h3>
<p>JavaScript Anywhere は jQeury を持っていないので Google Code のものを使わせてもらう。<br />
<a href="http://code.google.com/intl/ja/apis/ajaxlibs/">Google AJAX Libraries API &#8211; Google Code</a><br />
<a href="http://code.google.com/intl/ja/apis/ajaxlibs/documentation/index.html">デベロッパー ガイド &#8211; Google AJAX Libraries API &#8211; Google Code</a></p>
<p>HTMLの&lt;head&gt;内に</p>
<pre class="brush: xml; title: ; notranslate">&lt;script src=&quot;http://www.google.com/jsapi&quot;&gt;&lt;/script&gt;
&lt;script&gt;
  google.load(&quot;jquery&quot;, &quot;1.4.2&quot;);
&lt;/script&gt;
</pre>
<p>もしくは</p>
<pre class="brush: xml; title: ; notranslate">&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;</pre>
<p>これでjQueryが使えるハズ。</p>
<h3>動作確認</h3>
<p>JSタブに</p>
<pre class="brush: jscript; title: ; notranslate">
$(function(){
$(&quot;body&quot;).prepend(&quot;&lt;h1&gt;Hello&lt;/h1&gt;&quot;);
});
</pre>
<p>と入力して Hello が表示されたらおkなハズ。</p>
<h4>JavaScript Anywhere のダウンロードはこちら</h4>
<p><a href="http://itunes.apple.com/jp/app/javascript-anywhere/id363452277?mt=8" target="_blank">iTunes App Store で扱っている iPhone、iPod touch、iPad のJavaScript Anywhere</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/06/javascript-anywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/06/javascript-anywhere/" />
	</item>
		<item>
		<title>jQueryでアンカーリンクをスムーズスクロールの練習</title>
		<link>http://blog.sakurachiro.com/2010/06/jquery-smooth-scroll/</link>
		<comments>http://blog.sakurachiro.com/2010/06/jquery-smooth-scroll/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 15:28:50 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1820</guid>
		<description><![CDATA[要素を動かすのは前回の(フローティングメニュー作成)でなんとなくわかったけど 全体をスクロールさせる方法はさっぱりなので調べた。 $('a[href*=#]').click(function() { #を含むリンクをクリ [...]]]></description>
			<content:encoded><![CDATA[<p>要素を動かすのは前回の(フローティングメニュー作成)でなんとなくわかったけど<br />
全体をスクロールさせる方法はさっぱりなので調べた。</p>
<pre class="brush: jscript; class-name: js-sh; title: ; notranslate">
$(function(){
  $('a[href*=#]').click(function() {
    var $target=$(this.hash);
    var targetY=$target.offset().top;
    $('html').animate({scrollTop: targetY},2000);return false;
  });
});
</pre>
<p><span id="more-1820"></span></p>
<pre><code>$('a[href*=#]').click(function() {</code></pre>
<p>#を含むリンクをクリックすると</p>
<pre><code>var $target=$(this.hash);
var targetY=$target.offset().top;</code></pre>
<p>クリックされた要素のハッシュを$targetに入れて<br />
offset().top;で位置を調べてtargetYに入れる</p>
<pre><code>$('html').animate({scrollTop: targetY},2000);return false;</code></pre>
<p>scrollTop(=スクロールの位置)に先程調べたtargetYを入れる、2000ミリ秒で移動完了。</p>
<p>以上のコードでFirefox、Opera、IE8と動いた<br />
さすがjQuery、案外簡単にできちゃうんだなぁと思っていたら<br />
Chromeで動かない、うんともすんとも言わない(safariの確認はしてない)。</p>
<h3>$(&#8216;html&#8217;).を変更する</h3>
<pre><code>$('html,body')</code></pre>
<p>とすると<br />
chromeでも動くようになった、良かった。</p>
<h3>だが<del>断る</del>しかし</h3>
<p>今度はOperaで上に戻るスクロールが通常のアンカーリンクのように一瞬でページの一番上まで戻り、それからゆるゆるとスクロールしながら画面がチカチカする。</p>
<p>Operaでは、htmlとbody両方の指定が有効になるのがチラつきの原因みたい。とほほ<br />
<a href="http://keyton-co.jp/blog/memo/article/jQuery%E3%81%A7scrollTo%E3%82%92%E4%BD%BF%E3%81%86%E3%81%A8%E3%81%8D%E3%81%AE%E6%B3%A8%E6%84%8F%E7%82%B9">jQueryでscrollToを使うときの注意点 &#8211; NoteBook</a><br />
$(&#8216;html&#8217;)と$(&#8216;body&#8217;)のどちらが有効か?の表がある。</p>
<blockquote cite="http://keyton-co.jp/blog/memo/article/jQuery%E3%81%A7scrollTo%E3%82%92%E4%BD%BF%E3%81%86%E3%81%A8%E3%81%8D%E3%81%AE%E6%B3%A8%E6%84%8F%E7%82%B9"><p>しかし、operaでは、両方の指定が有効になり、ちらつきの原因となるので、以下のように指定します。</p>
<p>$($.browser.opera ? document.compatMode == &#8216;BackCompat&#8217; ? &#8216;body&#8217; : &#8216;html&#8217; :&#8217;html,body&#8217;)<br />
.animate({scrollTop:目標のオフセット値Y,scrollLeft:目標のオフセット値X});</p></blockquote>
<p>流用させてもらったらこうなった。</p>
<pre class="brush: jscript; class-name: js-sh; title: ; notranslate">
$(function(){
  $('a[href*=#]').click(function() {
    var $target=$(this.hash);
    var targetY=$target.offset().top;
    $($.browser.opera ? document.compatMode == 'BackCompat' ? 'body' : 'html' :'html,body').animate({scrollTop: targetY},2000);return false;
  });
});
</pre>
<p>しかしこの三項演算子が全く解読できない＞＜</p>
<h3>今回チェック用のhtmlとcss</h3>
<pre class="brush: xml; class-name: html-sh; title: ; notranslate">&lt;body&gt;
&lt;p&gt;&lt;a href=&quot;clicktest.html&quot;&gt;clicktest&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;#abc&quot;&gt;link&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;#def&quot;&gt;link&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;#ghi&quot;&gt;link&lt;/a&gt;&lt;/p&gt;
&lt;div id=&quot;wrap&quot;&gt; wrap内 &lt;/div&gt;
&lt;p id=&quot;abc&quot;&gt;abc&lt;/p&gt;
&lt;p id=&quot;def&quot;&gt;def&lt;/p&gt;
&lt;p id=&quot;ghi&quot;&gt;ghi&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;#wrap&quot;&gt;to wrap&lt;/a&gt;&lt;/p&gt;
&lt;/body&gt;</pre>
<pre class="brush: css; class-name: css-sh; title: ; notranslate">&lt;style type=&quot;text/css&quot;&gt;
body {
  text-align:center;
}
#wrap {
  height:5000px;
  background-color:#f63;
}
&lt;/style&gt;</pre>
<h3>メモ</h3>
<p>$.browser.～<br />
<a href="http://semooh.jp/jquery/api/utilities/jQuery.browser/">jQuery.browser &#8211; jQuery 日本語リファレンス</a></p>
<blockquote><p>※jQuery 1.3からはサポート外。jQuery.supportを使って下さい。<br />
navigator.userAgentを元に、ユーザエージェントを識別するためのフラグを連想配列として保持しています。<br />
現時点で有効なフラグは次の通りです。<br />
    * safari<br />
    * opera<br />
    * msie<br />
    * mozilla</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/06/jquery-smooth-scroll/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/06/jquery-smooth-scroll/" />
	</item>
		<item>
		<title>Google Analytics 非同期トラッキングコードが、標準のトラッキングコードとしてご利用いただけるようになりました。とのこと。</title>
		<link>http://blog.sakurachiro.com/2010/06/google-analytics-asynctracking/</link>
		<comments>http://blog.sakurachiro.com/2010/06/google-analytics-asynctracking/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 20:46:38 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[とりあえずメモ]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[WPプラグイン]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1810</guid>
		<description><![CDATA[よくわかっていないで書き込んでます。今更でしたらごめんあそばせ。 どうも非同期トラッキングコードが正式版になったみたい。 Analytics 日本版 公式ブログ: 成長し続ける Google Analytics のエコシ [...]]]></description>
			<content:encoded><![CDATA[<p>よくわかっていないで書き込んでます。今更でしたらごめんあそばせ。</p>
<p>どうも非同期トラッキングコードが正式版になったみたい。<br />
<a href="http://analytics-ja.blogspot.com/2010/05/growing-google-analytics-ecosystem.html">Analytics 日本版 公式ブログ: 成長し続ける Google Analytics のエコシステム</a></p>
<blockquote cite="http://analytics-ja.blogspot.com/2010/05/growing-google-analytics-ecosystem.html"><p>非同期トラッキングコード<br />
昨年 12 月に公開した非同期トラッキングコードが、標準のトラッキングコードとしてご利用いただけるようになりました。新たにプロファイルを作成した際、標準のトラッキングコードとして、トラッキングコード設定ウィザードに表示されます。</p></blockquote>
<h3>違いは何?何かいいことあるの?</h3>
<p>いままで&lt;/body&gt;の直前だった<span class="note2">トラッキングコードの挿入場所が&lt;/head&gt;の直前に変更</span>されたみたい。<br />
それによってより正確に計測できる、と。</p>
<p><a href="http://analytics-ja.blogspot.com/2009/12/new-tracking-code.html">Analytics 日本版 公式ブログ: Google Analytics のトラッキングコードが新しくなりました</a></p>
<blockquote cite="http://analytics-ja.blogspot.com/2009/12/new-tracking-code.html"><p>新しい非同期トラッキングコードは、ga.js トラッキングコードで計測可能なデータセットと同様のものを得ることができます。</p>
<p>両者の唯一の違いは、計測対象ページへの挿入場所です。従来のga.js トラッキングコードの場合、body セクションの最後に挿入することをご推奨しておりました。一方、新しい非同期トラッキングコードは、他のJavaScript コードの読み込みが完了しなくても正常にロードできるため、HTMLファイル内の head セクション内に記述することが可能です。</p>
<p>ページ末尾に入れる ga.js の場合、ページの読み込みに時間がかかると、り離脱したセッションを正確に計測できないという不都合がありましたが、新しいトラッキングコードではそのような懸念がなくより正確なデータを計測できるため、ぜひ多くのユーザーの皆さまにご利用頂ければと思います。</p></blockquote>
<p>「り離脱したセッション」は原文ママです。</p>
<p><span id="more-1810"></span></p>
<p><em>メリットの説明</em></p>
<blockquote cite="http://www.google.com/support/analytics/bin/answer.py?answer=174090"><p>非同期トラッキング コードの主なメリットの 1 つは、HTML 文書の一番上に配置できることです。これによって、ユーザーがページを離れる前にトラッキング ビーコンが送信される可能性が高くなります。JavaScript コードは <head> セクションに配置することが慣例となっており、このコードを </head><head> セクションの一番下に配置すると最高のパフォーマンスが得られます。</head></p></blockquote>
<p><a href="http://www.google.com/support/analytics/bin/answer.py?answer=174090">トラッキング コードの設定 &#8211; Analytics ヘルプ</a></p>
<h3>トラッキングコードの設定</h3>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

&lt;/script&gt;
</pre>
<h4>実際のトラッキングコードが載ってる場所</h4>
<p>Analytics 設定 > プロファイル設定 > トラッキング コード<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100606-3.png" rel="shadowbox[sbpost-1810];player=img;" title="Google Analytics トラッキング コードの確認手順1"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100606-3-e1275770300918.png" alt="[image]Google Analytics トラッキング コードの確認手順1" title="Google Analytics トラッキング コードの確認手順1" width="240" height="146" class="alignnone size-large wp-image-1811" /></a></p>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100701-1.png" rel="shadowbox[sbpost-1810];player=img;" title="Google Analytics トラッキング コードの確認手順2"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100701-1-e1277947351615.png" alt="[image]Google Analytics トラッキング コードの確認手順2" title="Google Analytics トラッキング コードの確認手順2" width="240" height="146" class="alignnone size-large wp-image-1954" /></a></p>
<p>アナリティクス以外のjsの置き場所について</p>
<blockquote><p>あらゆるブラウザで最高のパフォーマンスを達成できるように、サイトの他のスクリプトを以下のいずれかの場所に配置することをお勧めします。<br />
HTML の lt;head> セクションのトラッキング コードの前<br />
トラッキング コードとすべてのページ コンテンツの後（HTML body の一番下など）</p></blockquote>
<p>lt;head>は原文ママ。&amp;が抜けてる、google誤字が多いなぁ。</p>
<p>すでに詳しく検証されてる方がいらっしゃいました(はてブ結構な数ついてるのに気付かなかったなぁ)。<br />
<a href="http://t32k.com/mol/2010/05/asynchronous-tracking/#section31">Google Analytics 非同期トラッキングコード再考 | MOL</a><br />
読み込み時間の高速化とか計測の精度向上とか、移行出来るならしたい感じ。</p>
<h3>前置きが長くなったけど本題</h3>
<p>これを読んでいて気になったのは、今WordPressに挿入してるトラッキングコードの事。<br />
乱雑モックアップにはUltimate Google Analytics(<a href="http://www.oratransplant.nl/uga/">OraTransplant » Ultimate Google Analytics plugin for WordPress</a>)というプラグインで自動挿入されとります。<br />
これ最後にアップデートされたのが2008年の2月と少し古い。<br />
今回の変更にあわせてアップデートされるかどうかも微妙。</p>
<p>なので新しい非同期トラッキングコードに対応したプラグインがないかPlugin Directoryを探して見つけたのがこれ。<br />
<a href="http://wordpress.org/extend/plugins/google-analyticator/">WordPress › Google Analyticator « WordPress Plugins</a></p>
<blockquote cite="http://wordpress.org/extend/plugins/google-analyticator/"><p>NEW! Supports standard Google Analytics tracking via the latest async tracking methods (faster and more reliable than the older ga.js tracking method)</p></blockquote>
<h3>使い方</h3>
<p>他のプラグインと一緒。<br />
pluginsにアップしてプラグインを有効化<br />
設定に出現したGoogle Analyticsを開いてUA-xxxxxxx-xを入力。<br />
追跡したいファイルがあるならDownload extensions to track:に拡張子を,(カンマ)区切りで入力、.(ドット)は必要ないっぽい。<br />
特に変更も必要なく使えそうだった。</p>
<p>下の方にGoogle Analytics profile ID:とかいう見覚えの無い項目があった。<br />
Entering your profile ID is optional, and is only useful if you have multiple profiles associated with a single UID.<br />
あなたのプロファイルIDを入力するオプションであり、複数のプロファイルを1つのUID を関連付けられている場合にのみ有用です。(google翻訳)</p>
<h4>Google Analytics profile IDの確認方法</h4>
<p>アナリティクスに<span class="note2">ログインして編集から確認</span>できた。<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100606-3.png" rel="shadowbox[sbpost-1810];player=img;" title="Google Analytics profile IDの確認手順1"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100606-3-e1275770300918.png" alt="[image]Google Analytics profile IDの確認手順1" title="Google Analytics profile IDの確認手順1" width="240" height="146" class="alignnone size-large wp-image-1811" /></a></p>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100606-4.png" rel="shadowbox[sbpost-1810];player=img;" title="Google Analytics profile IDの確認手順2"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100606-4-e1275770404359.png" alt="[image]Google Analytics profile IDの確認手順2" title="Google Analytics profile IDの確認手順2" width="240" height="146" class="alignnone size-large wp-image-1812" /></a></p>
<p>切り替えはどういったタイミングで行えばいいんだろう。<br />
とりあえずUltimate Google Analyticsは切ってみた。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/06/google-analytics-asynctracking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/06/google-analytics-asynctracking/" />
	</item>
		<item>
		<title>選択範囲にあわせてガイドを引く.jsx</title>
		<link>http://blog.sakurachiro.com/2010/06/guides-to-the-selection-range/</link>
		<comments>http://blog.sakurachiro.com/2010/06/guides-to-the-selection-range/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 17:12:50 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[jsx]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1798</guid>
		<description><![CDATA[(なんだかガイドを引くjsxばっかり作ってる気がするけど) 選択範囲に沿ってガイドを引けた方が、前に作ったカンバス枠にガイド引くだけの機能よりシンプルさはあまり変わらず使い道が広がって便利だよなぁとほんのり思ったので改造 [...]]]></description>
			<content:encoded><![CDATA[<p>(なんだかガイドを引くjsxばっかり作ってる気がするけど)<br />
選択範囲に沿ってガイドを引けた方が、前に作ったカンバス枠にガイド引くだけの機能よりシンプルさはあまり変わらず使い道が広がって便利だよなぁとほんのり思ったので改造した。<br />
<kbd class="key">Ctrl + A</kbd>すればカンバス枠の選択範囲が出来るわけだし。</p>
<h3>使い方</h3>
<p>[ファイル] – [スクリプト] – [参照] から下からダウンロードしたjsxを選択する。<br />
(xpの場合) C:\Program Files\Adobe\Adobe Photoshop CS3\プリセット\スクリプト の中に.jsxを入れておけば[ファイル] – [スクリプト] から使用できる。</p>
<p>ExtendScript Toolkitからも使える。</p>
<h3>ダウンロード</h3>
<p><a href="http://sakurachiro.com/_exercise/javascript/jsx/addGuide.jsx">addGuide.jsx｜選択範囲にあわせてガイドを引く.jsx</a></p>
<h3>挙動 / どんなガイドが引かれるか</h3>
<p>こんな感じの選択範囲だと<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-1.png" rel="shadowbox[sbpost-1798];player=img;" title="基本の四角"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-1.png" alt="[image]四角形の選択範囲" title="基本の四角" width="480" height="297" class="alignnone size-full wp-image-1799" /></a></p>
<p>こうなる<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-2.png" rel="shadowbox[sbpost-1798];player=img;" title="四角形にガイド"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-2.png" alt="[image]ガイドが引かれた" title="四角形にガイド" width="480" height="297" class="alignnone size-full wp-image-1800" /></a></p>
<p>四角じゃない選択範囲だと<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-3.png" rel="shadowbox[sbpost-1798];player=img;" title="円形の選択範囲"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-3.png" alt="[image]円形の選択範囲" title="円形の選択範囲" width="480" height="297" class="alignnone size-full wp-image-1801" /></a></p>
<p><span id="more-1798"></span></p>
<p>こうなる<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-4.png" rel="shadowbox[sbpost-1798];player=img;" title="円形の選択範囲でガイドを引いた結果"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-4.png" alt="[image]円形の選択範囲でガイドを引いた結果" title="円形の選択範囲でガイドを引いた結果" width="480" height="297" class="alignnone size-full wp-image-1802" /></a></p>
<p>変な形の選択範囲だと<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-5.png" rel="shadowbox[sbpost-1798];player=img;" title="ふきだし型のせんたく範囲"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-5.png" alt="[image]ふきだし型のせんたく範囲" title="ふきだし型のせんたく範囲" width="480" height="297" class="alignnone size-full wp-image-1803" /></a></p>
<p>こうなる、予想通り。<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-6.png" rel="shadowbox[sbpost-1798];player=img;" title="選択範囲の外側にガイド"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/06/20100604-6.png" alt="[iamge]ふきだし型選択範囲の外側にガイドが引かれた" title="選択範囲の外側にガイド" width="480" height="297" class="alignnone size-full wp-image-1804" /></a></p>
<h3>ソース</h3>
<pre class="brush: jscript; title: ; notranslate">
function selectionRange(){
	try {
		//選択範囲を取得
		var boundsObj = activeDocument.selection.bounds;
		x1 = parseInt(boundsObj[0]);
		y1 = parseInt(boundsObj[1]);
		x2 = parseInt(boundsObj[2]);
		y2 = parseInt(boundsObj[3]);

		//選択範囲にガイドを引く
		guideWrap(&quot;Vrtc&quot;,x1);//左上
		guideWrap(&quot;Vrtc&quot;,x2);//右上
		guideWrap(&quot;Hrzn&quot;,y1);//左上
		guideWrap(&quot;Hrzn&quot;,y2);//左下
	}
	catch(e){
		alert(&quot;選択範囲がありません。&quot;);
	}
}

function guideWrap(direction,position){
var id1 = charIDToTypeID( &quot;Mk  &quot; );
    var desc1 = new ActionDescriptor();
    var id2 = charIDToTypeID( &quot;Nw  &quot; );
        var desc2 = new ActionDescriptor();
        var id3 = charIDToTypeID( &quot;Pstn&quot; );
        var id4 = charIDToTypeID( &quot;#Pxl&quot; );
        desc2.putUnitDouble( id3, id4, position );
        var id5 = charIDToTypeID( &quot;Ornt&quot; );
        var id6 = charIDToTypeID( &quot;Ornt&quot; );
        var id7 = charIDToTypeID( direction );
        desc2.putEnumerated( id5, id6, id7 );
    var id8 = charIDToTypeID( &quot;Gd  &quot; );
    desc1.putObject( id2, id8, desc2 );
executeAction(id1,desc1,DialogModes.NO);
}

// ==========
// 実行
// ==========
selectionRange();</pre>
<h4>参考</h4>
<p>選択範囲の取得方法を参考にさせていただきました。<br />
<a href="http://www.y-tti.com/blog/2008/04/photoshopscriptcs3.php">崖っぷちWEBデザイナーブログ | photoshopのscript機能メモ（CS3）</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/06/guides-to-the-selection-range/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/06/guides-to-the-selection-range/" />
	</item>
		<item>
		<title>大量のテクスチャー画像を、超簡単にパターン登録する.jsx ( バッチ処理不使用</title>
		<link>http://blog.sakurachiro.com/2010/05/add-pattern-2/</link>
		<comments>http://blog.sakurachiro.com/2010/05/add-pattern-2/#comments</comments>
		<pubDate>Sun, 23 May 2010 12:02:35 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[jsx]]></category>
		<category><![CDATA[テクスチャー登録]]></category>
		<category><![CDATA[パターン登録]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1765</guid>
		<description><![CDATA[以前作ったjsxは ( Fireworksのテクスチャー画像等をPhotoshopのパターンに一括登録したい ) .jsxをアクションに登録して [ファイル] &#8211; [自動処理] &#8211; [バッチ] か [...]]]></description>
			<content:encoded><![CDATA[<p>以前作ったjsxは ( <a href="http://blog.sakurachiro.com/2009/11/add-pattern/">Fireworksのテクスチャー画像等をPhotoshopのパターンに一括登録したい</a> ) </p>
<ol>
<li>.jsxをアクションに登録して</li>
<li>[ファイル] &#8211; [自動処理] &#8211; [バッチ] から登録したアクションを指定</li>
</ol>
<p>といった手順を踏む必要があったけれど今回のはバッチ処理なしでいけるはず、多分。<br />
WindowsXPのCS3では大丈夫だった。</p>
<h3>どういったモノ?</h3>
<p>パターンに画像を、ファイル名で登録するだけ。<br />
大量に登録したい時に威力を発揮するはず。</p>
<p>例えばこうゆう.patではないパターン画像を超簡単に一気に登録できる。<br />
<a href="http://77words.deviantart.com/art/patterns-set-no-7-61003303">patterns: set no.7 by ~77words on deviantART</a></p>
<h3>使い方</h3>
<p>[ファイル] &#8211; [スクリプト] &#8211; [参照] から下からダウンロードしたjsxを選択する。<br />
(xpの場合) C:\Program Files\Adobe\Adobe Photoshop CS3\プリセット\スクリプト の中に.jsxを入れておけば[ファイル] &#8211; [スクリプト] から使用できる。</p>
<p>ExtendScript Toolkitからも使える。</p>
<h3>ダウンロード</h3>
<ul>
<li><a href="http://sakurachiro.com/_exercise/javascript/jsx/addPattern.jsx">addPattern.jsx｜バッチを使わずに画像をファイル名でパターンに追加する.jsx</a></li>
</ul>
<p><span id="more-1765"></span></p>
<pre class="brush: jscript; title: ; notranslate">// ==========
// File Name: addPattern.jsx
// File URI: http://sakurachiro.com/_exercise/javascript/jsx/addPattern.jsx
// Description: 画像をパターンに一括登録する
// Author: makoto
// Version: 1.0.0
// Author URI: http://blog.sakurachiro.com/
// Copyright: Copyright 2010 makoto
// ==========

textureFolderObj = Folder.selectDialog(&quot;パターンに登録したい画像があるフォルダを選択してください&quot;);
if (textureFolderObj) {
  fileSet(textureFolderObj);
}

function fileSet(textureFolderObj) {
  var textureFileList = textureFolderObj.getFiles();
  for (var i = 0; i &lt; textureFileList.length; i++) {
    var textureFileObj = textureFileList[i];
    if (textureFileObj.name.indexOf(&quot;.&quot;) &lt; 0) {
      //拡張子がなければフォルダと判断
      fileSet(textureFileObj);
    } else if (textureFileObj.name.match(/.png|.jpg|.jpeg|.gif/g)) {
      //正規表現に自信はないけど動いているようだ
      addTexture(textureFileObj);
    }
  }
}

function addTexture(textureFileObj) {
	open(new File(textureFileObj));

  // ==========
  // 登録する
  // ==========
  var idMk = charIDToTypeID(&quot;Mk  &quot;);
  var desc1 = new ActionDescriptor();
  var idNull = charIDToTypeID(&quot;null&quot;);
  var ref1 = new ActionReference();
  var myPtrn = charIDToTypeID(&quot;Ptrn&quot;);
  ref1.putClass(myPtrn);
  desc1.putReference(idNull, ref1);
  var idUsng = charIDToTypeID(&quot;Usng&quot;);
  var ref2 = new ActionReference();
  var idPrpr = charIDToTypeID(&quot;Prpr&quot;);
  var idFsel = charIDToTypeID(&quot;fsel&quot;);
  ref2.putProperty(idPrpr, idFsel);
  var idDcmn = charIDToTypeID(&quot;Dcmn&quot;);
  var idOrdn = charIDToTypeID(&quot;Ordn&quot;);
  var idTrgt = charIDToTypeID(&quot;Trgt&quot;);
  ref2.putEnumerated(idDcmn, idOrdn, idTrgt);
  desc1.putReference(idUsng, ref2);
  var idNm = charIDToTypeID(&quot;Nm  &quot;);
  var docName = app.activeDocument.name;
  desc1.putString(idNm, docName);
  executeAction(idMk, desc1, DialogModes.NO);

  // ==========
  // 閉じる
  // ==========
  var idCls = charIDToTypeID(&quot;Cls &quot;);
  executeAction(idCls, undefined, DialogModes.NO);
}
</pre>
<h3>今回詰まったところ</h3>
<p>バッチにある「サブフォルダをすべて含める」をjsxでどうやって書いていいのかがさっぱりだった。</p>
<p>こんな風に書いて、</p>
<pre class="brush: jscript; title: ; notranslate">var myFolder = Folder.selectDialog(&quot;フォルダを選択&quot;);
var myFiles = myFolder.getFiles();
for(i=0;i&lt;myFiles.length;i++){
 alert(myFiles.length);
}
</pre>
<p>下記画像ような中身のフォルダを選択すると、困った事にmyFiles.lengthは<span class="note2">7</span>になる。<br />
<img src="http://blog.sakurachiro.com/wp-content/uploads/2010/05/20100523-1.png" alt="選択したフォルダの中身の例" title="選択したフォルダの中身の例" width="210" height="159" class="alignnone size-full wp-image-1766" /></p>
<h4>そんな時とても参考になったページ</h4>
<p><a href="http://dtp-bbs.com/mt/dtpbbs/archives/illustratorphotoshop_20090417093139.html">IllustratorとPhotoshopのファイル名埋め込み</a><br />
<a href="http://dtp-bbs.com/mt/dtpbbs/archives/i/illustratorphotoshop_20090417093139.html">IllustratorとPhotoshopのファイル名埋め込み &#8211; for iPhone</a></p>
<p><span class="note2">ExtendScript Toolkit</span>を使ってみたんだけど<br />
ちゃんと書けていたのに「対象アプリケーションを選択」でPhotoshopを選んでいなかった為、いつまでも<strong>openが関数ではありません</strong>等のエラーが出て動かず途方に暮れた。<br />
<img src="http://blog.sakurachiro.com/wp-content/uploads/2010/05/20100523-2.png" alt="ExtendScript Toolkit 2、対象アプリケーションを選択" title="ExtendScript Toolkit 2、対象アプリケーションを選択" width="480" height="297" class="alignnone size-full wp-image-1767" /><br />
ちゃんとadobe photoshop cs3を選択しなければ。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/05/add-pattern-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/05/add-pattern-2/" />
	</item>
		<item>
		<title>懲りずに ) jQueryを使った画面スクロールに合わせてついてくるフローティングメニューが一応形になりまんた。</title>
		<link>http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu-3/</link>
		<comments>http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu-3/#comments</comments>
		<pubDate>Fri, 21 May 2010 14:11:19 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1761</guid>
		<description><![CDATA[前回までの作りは、jsを読み込む元々のhtml(とcss)に多少依存していました。 positionで段組みしてるhtmlに、コンテンツ部分が短い時はmenuがfooterが食い込んじゃう！どうしよう！ なんて、そんな事 [...]]]></description>
			<content:encoded><![CDATA[<p>前回までの作りは、jsを読み込む元々のhtml(とcss)に多少依存していました。</p>
<p>positionで段組みしてるhtmlに、コンテンツ部分が短い時はmenuがfooterが食い込んじゃう！どうしよう！<br />
なんて、そんな事はコーディングする時にどうにかする問題で、javascriptでどうにかしなきゃならんもんではないだろうし<br />
同じように、メニューを動くようにする為に、予めpositionを仕込んでおかなければならないなんてのも良くないかと。</p>
<p>今回は、元々あるレイアウト(htmlやcss)になるべく手を加えずとも動くようにしたい。を念頭にやったので、floatで組んだページも、positionで組んだページも、フッターの有無に関わらず使えるように出来たと思う。<br />
メニューとフッターのidを合わせるか追加する必要はあるけれど。</p>
<dl>
<dt><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/05/20100521-1.png" alt="floatレイアウト" title="floatレイアウト" width="480" height="300" class="alignnone size-full wp-image-1762" /></dt>
<dd><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/relative.html">floatレイアウトにフローティングメニューを追加のサンプル</a></dd>
<dt><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/05/20100521-2.png" alt="positionレイアウト" title="positionレイアウト" width="480" height="300" class="alignnone size-full wp-image-1763" /></dt>
<dd><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/absolute.html">positionレイアウトにフローティングメニューを追加のサンプル</a>
</dd>
</dl>
<p><span class="note4">作成したjavascript</span><br />
<a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/floatingmenu-v2.0.2.js" target="_blank">floatingmenu-v2.0.2.js</a></p>
<p>あるぇ？<br />
&#8220;続きを読む&#8221;以降の文章が全部なくなってる…なぜ…</p>
<p><span id="more-1761"></span></p>
<h3>使い方</h3>
<p>次の2つのファイルをダウンロード</p>
<ul>
<li><a href="http://jquery.com/">jQuery: The Write Less, Do More, JavaScript Library</a></li>
<li><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/floatingmenu-v2.0.2.js" target="_blank">floatingmenu-v2.0.2.js</a></li>
</ul>
<p>イージングを追加したいなら以下も。</p>
<ul>
<li><a href="http://gsgd.co.uk/sandbox/jquery/easing/">jQuery Easing Plugin</a></li>
</ul>
<p><span class="note2">hemlの&lt;head&gt;内で読み込む</span></p>
<pre class="brush: xml; title: ; notranslate">&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;_js/jquery-1.4.2.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;_js/floatingmenu-float-a.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;</pre>
<p><span class="note2">floatingmenu-v2.jsを開くと最初に設定する部分があるので適当に書き換える。</span></p>
<pre class="brush: jscript; title: ; notranslate">
//メニューの上部に余白を設けるなら入力 / 単位px
  offsetY = 10;
//absoluteでコンテンツ部分が短い時のメニューとフッターの余白 / 単位px
  minMargin = 10;
//処理時間 (ミリ秒)  / 0だとposition:fixedのようになる、チラつくけど
  duration = 900;
//移動させるメニューのid
  _foName = '#nav';
//positionで組んだレイアウトは「0」 floatで組んだレイアウトは「1」
  _navRelative = 1;
//フッター部分のid
  _ftName = '#footer';
//イージングタイプ / 使いたいのがなければjQuery Easing Pluginを追加してもいい
  easingSet = 'swing';</pre>
<h3>つまったところや、よく分からない部分</h3>
<p>cssのプロパティの記述が違う部分がある？<br />
margin-top は marginTop とも書ける？<br />
いやmarginTopはcssじゃないのか、なんだろ？</p>
<h4>cssを複数指定する方法</h4>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;#example&quot;).css('background', 'tomato').css('height','100px').css('text-align','center');
$('#example').css({'height' : '100px','text-align' : 'center','background' : 'tomato'});
</pre>
<p>なので作成したfloatingmenu-v2.0.1.jsの以下の部分を</p>
<pre class="brush: jscript; title: ; notranslate">
$(_ftName).css('position', 'absolute').css('width', ftWidth).css('top', navHeight + navSetY + minMargin);
</pre>
<p><del datetime="2010-05-22T07:31:27+00:00">こう書いたら上手く動かなかった</del>と思ったら動いた。あるぇ?</p>
<pre class="brush: jscript; title: ; notranslate">$(_ftName).css({
'position' : 'absolute',
'width': ftWidth,
'top': navHeight + navSetY + minMargin
});</pre>
<p>上記確認をしていて不具合を発見 v2.0.2に修正した。<br />
positionを使ってでfooterがnavと重なるのを解決させると、<br />
footerの下に何か要素があった場合、今度はそれがnavに食い込んでしまうので<br />
footerにmargin-topをつけてfooterの下の要素も押し出すようにした。<br />
そうした所bodyのheightが伸びるから、navがスクロールする場合があった。<br />
flagをつけてfooterを伸ばした時はnavを動かさないようにした。</p>
<p>console.log() の位置によって挙動が変わる？<br />
出来ないと思ってた事が console.log を削除すると動く。</p>
<h4>pxがつく要素からpxを取るには</h4>
<p><span class="note2">parseIntを使う。</span></p>
<pre class="brush: css; title: ; notranslate">
#example{
margin-top:100px;
}
</pre>
<pre class="brush: jscript; title: ; notranslate">
$('#example').css('margin-top');
//100px

parseInt($('#example').css('margin-top'));
//100
</pre>
<blockquote cite="http://ascii.jp/elem/000/000/463/463680/index-3.html"><p>parseIntを使えば文字列を数値に変換できるので、以下の記述では「300+300+&#8221;px&#8221;」と認識されます。最初の+は数値と数値の間にある算術演算子の+なので足し算として扱われて「600」になり、次の+で文字列の「px」と連結されて、「600px」を設定できます。</p>
<pre><code>parseInt($("#navi .pageWrap").css("margin-left"))+300+"px"
</code></pre>
</blockquote>
<p><a href="http://ascii.jp/elem/000/000/463/463680/index-3.html">ASCII.jp：jQueryで作る画像ギャラリーのチュートリアル ｜Web制作の現場で使えるjQuery　UIデザイン入門</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu-3/" />
	</item>
		<item>
		<title>続き / スクロールに合わせて、移動するメニュー(要素)</title>
		<link>http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu-2/</link>
		<comments>http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu-2/#comments</comments>
		<pubDate>Tue, 18 May 2010 06:26:37 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[html/css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[コードフォーマット]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1755</guid>
		<description><![CDATA[この投稿には最新版(続き)があります。 懲りず ) jQueryを使った画面スクロールに合わせてついてくるフローティングメニューが一応形になりまんた。 二転三転中、最初の見極めが甘いんだろうなぁ 作って試してみると、じゃ [...]]]></description>
			<content:encoded><![CDATA[<p>この投稿には最新版(続き)があります。<br />
<a href="http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu-3/">懲りず ) jQueryを使った画面スクロールに合わせてついてくるフローティングメニューが一応形になりまんた。</a></p>
<p><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/05/20100518-1.png" alt="jQuery練習中" title="jQuery練習中" width="480" height="297" class="alignnone size-full wp-image-1756" /></p>
<p>二転三転中、最初の見極めが甘いんだろうなぁ<br />
作って試してみると、じゃあこうゆう時はどうなる？こうなったら？が出てくること出てくること。<br />
あーしたい、こーしたいって欲も。</p>
<h3><a href="http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu/">前回</a>の練習以降に変更した事。</h3>
<p><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/q4.html">_1.footerと被った部分の処理とあえて移動させない処理。</a><br />
ウインドウサイズをちょこちょこ縮めていくと(普通はそんな使い方しないけど)メニューとフッターが被る。<br />
処理を1.ヘッダーが画面内にある場合 / 2.フッターが画面内にある場合 / 3.両方画面内にない場合の3段階に分けて、メニューが移動する位置などを決めるようにした。</p>
<p><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/q4-short.html">_2.コンテンツの中身が全然ないhtmlの場合</a><br />
4.ヘッダーもフッターも同じ画面にある場合はどうなるの?と思って試してみた。<br />
コンテンツ部分を短くしたら(このページは現在製作中です的な長さ、公開するなよって話)不具合が。</p>
<p><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/q4-short-fixed.html">_3.コンテンツの中身が全然ないhtmlの場合:修正</a><br />
短い場合の修正として、コンテンツの高さを無理やり広げた。<br />
そうしたところ、今度はbodyの高さを取得する順番なんかが狂ってしまった。<br />
スクロールに合わせて移動するメニューなのに移動させない処理を追加</p>
<p><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/q5.html">_4.javascript外部化、要素名を変数化</a><br />
いままでのままだと、移動する要素ややヘッダーやフッターの名前を変更したい時に書き換える部分が沢山あるので変数にした、速度とかも。あとhead内の記述から.jsにした。</p>
<p><span id="more-1755"></span></p>
<h3>外部化したけど、どんなhtmlにも読み込んだらそのまま使えるの?</h3>
<p>これがまた使えないんですよねぇ。<br />
まずフッター要素が無いと使えない。ふむー</p>
<p>次に、position周りの指定は自分でやる必要がある。<br />
移動する要素のidも揃える、これは仕方がない。</p>
<p>他の人はどうやってるんだろう?</p>
<p>こういったフローティングメニューを配布してる人の設置方法を流し読みした感じだと、<br />
いろんなhtmlに使う場合でも、フロートさせる要素しか変更しないで平気そうなんですよね。</p>
<p>どうやったら簡単に使いまわせるようになるんだろうか(次の課題)。</p>
<p><em class="note2">[追記 / 20100518 19:24]</em><br />
ちょっと調べた。<br />
positionを使った2カラムレイアウトの考え方がそもそも違ってたみたい。<br />
<img src="http://blog.sakurachiro.com/wp-content/uploads/2010/05/20100518-3.png" alt="レイアウト" title="レイアウト" width="480" height="300" class="alignnone size-full wp-image-1759" /><br />
大体#navにabsoluteをつけるか / relativeかの2パターンあった。</p>
<p>うちのやり方は<br />
<h4>#navにabsolute</h4>
<p>(親要素にrelative)。<br />
で#articleのmarginに#navのwidth分を設定してズラす。<br />
これだと見た目は2カラムになっているけど、実際は1カラム。</p>
<p><span class="note3">メリット</span><br />
左右marginや#navのwidthなんかをemで設定出来る、あと#articleのwidthを設定しなくてもいい。</p>
<p><span class="note4">デメリット</span><br />
見た目が2カラムだけど実際は1カラムだから、#articleの内容が#navより少ないと#footerが食い込んでくる(#navの高さで#containerが拡張されない)。</p>
<h4>#containerがrelativeで#navもrelativeの場合</h4>
<p>floatと併用してやってるみたい。</p>
<p><span class="note3">メリット</span>と<span class="note4">デメリット</span><br />
両方ともfloatの2カラムと同じ。</p>
<p>#navも#articleもwidthをちゃんと設定しなきゃいけないし、<br />
左右marginにemを使ったりしたら文字サイズを拡大したときにカラムが崩れる。<br />
アバウトに組めないけど普通はpxできっちりやってるからあまり困らない?</p>
<p>なにより#articleの内容が#navより少なくても、<br />
#containerにclearfixを使えばrelativeのデメリットに書いた現象は起きないです。</p>
<p>うちが今回使ってたcssの組み方だと、最初の理由で#articleの高さが無い時に#footerが食いこむ。<br />
それを回避する為にjQueryを使って(練習なので)#navの高さを#articleの高さに移植した。</p>
<p>なので、高さを計算するのに#articleか#footerの名前が必要だった。<br />
#containerにmin-height使えばいいんだけど、せっかくだから高さ計算しないでも使いたいなぁ。</p>
<p>#navにもrelativeの方すると、#articleが短いときに重なりはしないだろうけど、ウインドウを縮めていったときにどうやってstopする位置を計算するんだろう?</p>
<h3>現状のソースと使い方</h3>
<p><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/floatingmenu.js">直接floatingmenu.jsを、開いたりするのはこっちから。</a></p>
<h4>使い方</h4>
<p><span class="note1b">_1.</span> / 以下の二つを保存して読み込む</p>
<ul>
<li><a href="http://jquery.com/" target="_blank">jquery-1.4.2.js</a></li>
<li><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/floatingmenu.js" target="_blank">floatingmenu.js</a></li>
</ul>
<p>_jsフォルダに保存してるならこんな感じ。</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;_js/jquery-1.4.2.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;_js/floatingmenu.js&quot;&gt;&lt;/script&gt;
</pre>
<p><span class="note1b">_2.</span> / &#8220;floatingmenu.js&#8221;を開いて11行目から適当に変更</p>
<ul>
<li>offsetY = 13; //フロートさせるボックスの上マージン 単位はpx。</li>
<li>duration = 800; //処理時間 (ミリ秒) 0だとposition:fixedのようになる、チラつくけど</li>
<li>_mcName = &#8216;#main&#8217;; //メインコンテンツ部分</li>
<li>_foName = &#8216;#primaryNavigation&#8217;; //フロートさせるボックス部分</li>
<li>_ftName = &#8216;#footer&#8217;; //フッター部分</li>
</ul>
<p><span class="note1b">_3.</span> / htmlとpositionの処理</p>
<p>現状footer要素が必要<br />
        フロートさせるボックスに<span class="note1">position:absolute;</span> 親要素に<span class="note1">position:relative;</span></p>
<p><span class="note2">ソース</span> / javascriptソースをフォーマットしてくれるサイトを利用しました。<br />
<a href="http://jsbeautifier.org/">Online javascript beautifier</a></p>
<p><em class="note2">[修正した / 20100518 17:23]</em><br />
でもまだ修正がある、どうしよう。</p>
<pre class="brush: jscript; title: ; notranslate">//jquery.easing.1.3.jsから
jQuery.extend(jQuery.easing, {
  easeOutCubic: function (x, t, b, c, d) {
    return c * ((t = t / d - 1) * t * t + 1) + b;
  }
});

$(function () {
  //[設定する部分]-------------------------
  offsetY = 13; //メニュー上のマージン 1em
  duration = 800; //処理時間 (ミリ秒) 0だとposition:fixedのようになる、チラつくけど
  _mcName = '#main'; //メインコンテンツ部分
  _foName = '#primaryNavigation'; //フロートさせるボックス部分
  _ftName = '#footer'; //フッター部分
  //[/設定する部分]-------------------------
  mainContent = $(_mcName).outerHeight(true); //メインコンテンツの高さ
  navHeight = $(_foName).outerHeight(true); //ナビゲーションのmargin+border+padding+heightを合わせた高さ
  navHeights = navHeight + offsetY;

  bodyHeight = $('body').outerHeight(true); //コンテンツの高さ
  naviSetY = $(_foName).offset().top; //ナビゲーションの初期座標(=margin・paddingを含めたheadの高さ)
  footerSetY = parseInt($(_ftName).offset().top); //フッターの初期座標(=margin・paddingを含めたheadの高さ)
  naviMarginSetY = naviSetY - offsetY; //ヘッダの高さを超えた時の位置用
  //↓body全体の高さからfooterの座標を引くとbodyのpaddingやmarginなどを含めたfooterの高さになる?
  footerArea = bodyHeight - footerSetY; //footer、実際の高さ
  desiredHeight = navHeights + footerArea; //必要な高さ(footer+naviの高さ)
  naviMaxY = bodyHeight - desiredHeight; //naviが重ならずに降りられる一番下
  floatObjMoveChk(mainContent - navHeights);
});

//スクロール毎の処理

function floatObjMove() {
  $(window).scroll(function () {
    var naviScrollTop = parseInt($(this).scrollTop()); //スクロール量
    if (navHeights &lt; windowHeight) {

      //スクロール量が最初の位置より小さい内は
      if (naviScrollTop &lt;= naviSetY) {
        $(_foName).animate({
          top: 0
        }, {
          duration: duration,
          queue: false,
          easing: &quot;easeOutCubic&quot;
        });
      }
      //
      else if (naviMaxY &lt; naviScrollTop) {
        $(_foName).animate({
          top: naviMaxY - naviSetY
        }, {
          duration: duration,
          queue: false,
          easing: &quot;easeOutCubic&quot;
        });
      }
      //(naviMaxY-naviSetYの理由:メニュー自体ヘッダーの下で0だけど、bodyからみたらヘッダ分下にある
      //ヘッダもフッタも無い位置
      else {
        $(_foName).animate({
          top: naviScrollTop - naviMarginSetY
        }, {
          duration: duration,
          queue: false,
          easing: &quot;easeOutCubic&quot;
        });
      }
      //ウインドウサイズが足りないので動かない。
    } else {
      //console.log(&quot;ウィンドウの高さ:&quot;+windowHeight,&quot; / メニューの高さ:&quot;+desiredHeight,&quot;クリック出来ないメニューが出来るので動かさない&quot;);
    }
  });
}

//リサイズしたらwindowのサイズを変更
$(window).resize(function () {
  windowHeight = parseInt($(window).height()); //windowのサイズ
});

function floatObjMoveChk(val) {
  if (val &lt; 0) {
    $(_mcName).css('height', navHeight);
  } else {
    windowHeight = $(window).height(); //変更後windowのサイズ
    floatObjMove();
  }
}</pre>
<p>修正前</p>
<pre class="brush: jscript; title: ; notranslate">//jquery.easing.1.3.jsから
jQuery.extend(jQuery.easing, {
  easeOutCubic: function (x, t, b, c, d) {
    return c * ((t = t / d - 1) * t * t + 1) + b;
  }
});

$(function () {
//[設定する部分]-------------------------

  offsetY = 13; //メニュー上のマージン 1em
  duration = 800; //処理時間 0だとposition:fixedのようになる、チラつくけど
  _mcName = '#main'; //メインコンテンツ部分
  _foName = '#primaryNavigation'; //フロートさせるボックス部分
  _ftName = '#footer'; //フッター部分

//[/設定する部分]-------------------------

  mainContent = $(_mcName).outerHeight(true); //メインコンテンツの高さ
  navHeight = $(_foName).outerHeight(true); //ナビゲーションのmargin+border+padding+heightを合わせた高さ
  navHeights = navHeight + offsetY;

  floatObjMoveChk(mainContent - navHeights);
});

function floatObjMoveSet() {
  bodyHeight = $('body').outerHeight(true); //コンテンツの高さ
  windowHeight = $(window).height(); //windowのサイズ
  naviSetY = $(_foName).offset().top; //ナビゲーションの初期座標(=margin・paddingを含めたheadの高さ)
  footerSetY = parseInt($(_ftName).offset().top); //フッターの初期座標(=margin・paddingを含めたheadの高さ)
  naviMarginSetY = naviSetY - offsetY; //ヘッダの高さを超えた時の位置用
  //↓body全体の高さからfooterの座標を引くとbodyのpaddingやmarginなどを含めたfooterの高さになる?
  footerArea = bodyHeight - footerSetY; //footer、実際の高さ
  desiredHeight = navHeights + footerArea; //必要な高さ(footer+naviの高さ)
  naviMaxY = bodyHeight - desiredHeight; //naviが重ならずに降りられる一番下
  /*footerHeight=$(_ftName).outerHeight(true);*/
  floatObjMove();

}

//スクロール毎の処理

function floatObjMove() {
  $(window).scroll(function () {
    var naviScrollTop = parseInt($(this).scrollTop()); //スクロール量
    if (navHeights &lt; windowHeight) {

      //スクロール量が最初の位置より小さい内は
      if (naviScrollTop &lt; naviSetY) {
        $(_foName).animate({
          top: naviScrollTop
        }, {
          duration: duration,
          queue: false,
          easing: &quot;easeOutCubic&quot;
        });
      }
      //
      else if (naviMaxY &lt; naviScrollTop) {
        $(_foName).animate({
          top: naviMaxY - naviSetY
        }, {
          duration: duration,
          queue: false,
          easing: &quot;easeOutCubic&quot;
        });
      }
      //(naviMaxY-naviSetYの理由:メニュー自体ヘッダーの下で0だけど、bodyからみたらヘッダ分下にある
      //ヘッダもフッタも無い位置
      else {
        $(_foName).animate({
          top: naviScrollTop - naviMarginSetY
        }, {
          duration: duration,
          queue: false,
          easing: &quot;easeOutCubic&quot;
        });
      }
      //ウインドウサイズが足りないので動かない。
    } else {
      //console.log(&quot;ウィンドウの高さ:&quot;+windowHeight,&quot; / メニューの高さ:&quot;+desiredHeight,&quot;クリック出来ないメニューが出来るので動かさない&quot;);
    }
  });
}

//リサイズしたらwindowのサイズを変更
$(window).resize(function () {
  windowHeight = parseInt($(window).height()); //windowのサイズ
  //console.log(&quot;リサイズしたよ:&quot;+windowHeight);
  floatObjMoveSet();
});

function floatObjMoveChk(val) {
  if (val &lt; 0) {
    $(_mcName).css('height', navHeight);
  } else {
    floatObjMoveSet();
  }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu-2/" />
	</item>
		<item>
		<title>jQueryの練習 / スクロールに合わせて、移動するメニュー(要素)</title>
		<link>http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu/</link>
		<comments>http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu/#comments</comments>
		<pubDate>Sat, 15 May 2010 19:39:46 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1750</guid>
		<description><![CDATA[この投稿には最新版(続き)があります。 懲りず ) jQueryを使った画面スクロールに合わせてついてくるフローティングメニューが一応形になりまんた。 jQueryの練習 よくある&#8221;スクロールしてもついてくる [...]]]></description>
			<content:encoded><![CDATA[<p>この投稿には最新版(続き)があります。<br />
<a href="http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu-3/">懲りず ) jQueryを使った画面スクロールに合わせてついてくるフローティングメニューが一応形になりまんた。</a></p>
<p>jQueryの練習<br />
よくある&#8221;スクロールしてもついてくるメニュー&#8221;を、作ってみようと試行錯誤中。</p>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2010/05/20100516-2.png" rel="shadowbox[sbpost-1750];player=img;" title="jQueryの練習"><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/05/20100516-2-e1273953892614.png" alt="jQueryの練習" title="jQueryの練習" width="479" height="296" class="alignnone size-large wp-image-1752" /></a></p>
<p>やってる事は、position:absoluteしてある要素のtopを、スクロールした分に近づける処理の繰り返し、だと想像。<br />
スクロール量の取得方法、要素をブラウザ上部からみた位置の取得方法、animateの使い方とイージングの追加方法等を調べて試してみた。</p>
<h3>使ったライブラリ</h3>
<ul>
<li><a href="http://jquery.com/" target="_blank">jquery-1.4.2.js</a></li>
<li><a href="http://gsgd.co.uk/sandbox/jquery/easing/" target="_blank">jquery.easing.1.3.js</a> / easingの種類を増やす</li>
</ul>
<p><span id="more-1750"></span></p>
<h3>練習の途中経過</h3>
<p>      <em class="note2">[追記 / 20100517]</em><br />
IE6-7でめちゃくちゃ崩れててびっくりした。<br />
以下を追加して回避</p>
<pre class="brush: css; title: ; notranslate">
  top:0;
  left:0;/*これがないとIE7が右にずれる*/
  _margin-left:-12em;/*ie6が#mainのmarginに引きづられるバグの対処*/
</pre>
<p>IE6ではposition:absoluteしたメニューの次に続く要素のmargin分メニューが引きづられてた<br />
ハックでマイナスマージンつかって戻した。<br />
IE7はtop,leftのleftを指定しないとこれまた次の要素を基準に配置されてた(と思う)<br />
追記ここまで。</p>
<dl>
<dt><span class="note3">Test page 1.</span><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/">スクロールに合わせて、移動するメニュー(要素):序</a></dt>
<dd>とりあえず動かしてみる、まずはそれからだ。<br />
      	垂直スクロール量を取得するには以下の記述みたい<br />
      	javascriptだと
<pre class="brush: jscript; title: ; notranslate">var scrollTop  = document.body.scrollTop  || document.documentElement.scrollTop;</pre>
<p>      	ブラウザ毎に挙動が違うのがjavascriptの嫌な所です。</p>
<p>      	jQueryだと以下で取得できるみたい。</p>
<pre class="brush: jscript; title: ; notranslate">$('html').scrollTop();
$(window).scrollTop();
$(document).scrollTop();
</pre>
<p>$(&#8216;html&#8217;).scrollTop() はsafari3で常に0 が返されるので注意らしいです。</p>
<p>      	あとは、jQuery本体が使えるイージングはlinearとswingの二つだと知る。 </dd>
<dt><span class="note3">Test page 2.</span><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/ha.html">スクロールに合わせて、移動するメニュー(要素):破</a></dt>
<dd>Webっぽいレイアウトの中に入れてみて高さを取得できるかテスト。:序に説明を書き足してたら、すでにヘッダのない2カラムになってたので、あんまり見栄えが変わらず意味がなさそうだけど、問題点が見えてきたのでよし。</p>
<p>      	メニューとコンテンツが被った時にどうするか、ウィンドウの高さが足りない時にどうするかなんかを考えたいところ。</dd>
<dt><span class="note3">Test page 3.</span><a href="http://sakurachiro.com/_exercise/javascript/floatingmenu/q.html">スクロールに合わせて、移動するメニュー(要素):Q</a></dt>
<dd>:破だと、スクロールしてもメニューが初期のx座標を移動するのでヘッダが無い部分だと変。なのでそれを修正してみる。
</dd>
</dl>
<h3>現在の最終的なソースメモ(ゴミは後で削る)</h3>
<p>      	<span class="note2">js</span></p>
<pre class="brush: jscript; title: ; notranslate">&lt;script type=&quot;text/javascript&quot; src=&quot;../../_js/jquery-1.4.2.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;../../_js/jquery.easing.1.3.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(function(){
offsetY=13;//1em
naviSet=$('#primaryNavigation').offset().top;//ナビゲーションの初期座標(=margin・paddingを含めたheadの高さ)
naviHeight=$('#primaryNavigation').outerHeight(true);//ナビゲーションのmargin+border+padding+heightを合わせた高さ
footerHeight=$('#footer').outerHeight(true);
bodyHeight=$('body').outerHeight(true);
windowHeight=$(window).height();
naviSetY=naviSet-offsetY;//ヘッダの高さを超えた時の位置用
});

$(window).scroll(function(){
nowY=$('#primaryNavigation').offset().top;//ナビゲーションの初期座標(=margin・paddingを含めたheadの高さ)

// var scrollTop=parseInt($(window).scrollTop());これだとIE6が動かない
 var scrollTop=parseInt($(this).scrollTop());//スクロール量

xmargin=parseInt(bodyHeight-(scrollTop+footerHeight));

if(scrollTop&lt;naviSet){//スクロール量が最初の位置より小さい内は
 $('#primaryNavigation').animate({top:scrollTop},{duration:700,queue:false,easing:&quot;easeOutCubic&quot;});
}else{//最初の位置を越えたら
 $('#primaryNavigation').animate({top:scrollTop-naviSetY},{duration:700,queue:false,easing:&quot;easeOutCubic&quot;});
}
// console.log(&quot;:&quot;+scrollTop);
});
&lt;/script&gt;</pre>
<p><span class="note2">css</span></p>
<pre class="brush: css; title: ; notranslate">&lt;style type=&quot;text/css&quot;&gt;

#primaryNavigation a {
  display:inline-block;
  width:80%;
}

#header {
  font-size:2.5em;
  border-bottom:3px solid #09c;
  margin:0 0 0.5em 0;
}
p.navigationTitle {
  background:#f8f8f8;
  padding:0 0.5em;
  margin-bottom:2px;
}

#contents {
  position:relative;
}
#primaryNavigation {
  color:dimgray;
  background:white;
  z-index:100;
  width:10em;
  margin-left:1em;
  position:absolute;
}
#primaryNavigation ul {
  line-height:2em;
  border-bottom:2px solid #09c;
  margin-bottom:3em;
}
#primaryNavigation li {
  border-top:1px solid #09c;
}

#main {
  margin:0 1em 2em 13em;
}
#main p {
  margin-top:2em;
}
p + p {
  margin-bottom:2em;
}
pre + h2 {
  margin-top:2em;
}
#footer {
  padding:1em;
  border-top:2px solid #09c;
}
&lt;/style&gt;</pre>
<p><span class="note2">html</span></p>
<pre class="brush: xml; title: ; notranslate">&lt;body&gt;
&lt;div id=&quot;wrap&quot;&gt;
  &lt;div id=&quot;header&quot; class=&quot;header&quot;&gt;
    &lt;h1&gt;スクロールに合わせて、移動するメニュー(要素):Q&lt;/h1&gt;
  &lt;/div&gt;
  &lt;div id=&quot;contents&quot;&gt;
    &lt;div id=&quot;primaryNavigation&quot; class=&quot;nav&quot;&gt;
      &lt;p class=&quot;navigationTitle&quot;&gt;&lt;em&gt;乱雑モックアップ&lt;/em&gt;&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&quot;#wrap&quot;&gt;pagetop&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#main&quot;&gt;step3&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#library&quot;&gt;library&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#htmlcode&quot;&gt;htmlcode&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#csscode&quot;&gt;csscode&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#jscode&quot;&gt;jscode&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#memo&quot;&gt;memo&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
    &lt;div id=&quot;main&quot; class=&quot;article&quot;&gt;
      &lt;h2&gt;STEP3.headerが無い部分の高さ調整、footerと被った部分の処理。&lt;/h2&gt;
      &lt;p id=&quot;anchor1&quot;&gt;Lorem  ipsum dolor sit amet, consectetuer adipiscing elit.  Aenean commodo  ligula eget dolor.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;footer&quot; class=&quot;footer&quot;&gt;
    &lt;p&gt;このページは乱雑モックアップのサンプルページです。&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;</pre>
<h3>とりあえず次は</h3>
<p>      	ウィンドウのサイズが狭いとフッタに被ったりしてるので、重なる前に移動を停止させたい。<br />
      	どんな計算をすればいいのだろうか。<br />
      	あと、Qの次は何てタイトルにすればいいんだろうか。</p>
<h4>参考</h4>
<p>      	<a href="http://semooh.jp/jquery/api/css/scrollTop/_/">scrollTop() &#8211; jQuery 日本語リファレンス</a><br />
      	<a href="http://d.hatena.ne.jp/cyokodog/20090224/jQueryPosSet01">jQuery の位置・サイズ関連メソッドまとめ &#8211; Cyokodog :: Diary</a><br />
      	<a href="http://d.hatena.ne.jp/cyokodog/20090112/jQueryPositionSize03">jQuery でブラウザの表示領域に対するサイズや位置情報を取得してみる &#8211; Cyokodog :: Diary</a><br />
      	TO BE CONTINUED&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/05/jquery-practice-floating-menu/" />
	</item>
		<item>
		<title>if文、書き方にバリエーションがあるようだ</title>
		<link>http://blog.sakurachiro.com/2010/05/if/</link>
		<comments>http://blog.sakurachiro.com/2010/05/if/#comments</comments>
		<pubDate>Thu, 13 May 2010 17:28:38 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[とりあえずメモ]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1734</guid>
		<description><![CDATA[うちはWordPressもphpも全然初心者であります。 なので思いっきり格好つけて(ソースを書いて)も、周りからみたらきっと恥ずかしい事になってるに違いない。あぁ恥ずかしい。 でもどうせ後で恥をかくなら今恥ずかしい方が [...]]]></description>
			<content:encoded><![CDATA[<p>うちはWordPressもphpも全然初心者であります。<br />
なので思いっきり格好つけて(ソースを書いて)も、周りからみたらきっと恥ずかしい事になってるに違いない。あぁ恥ずかしい。<br />
でもどうせ後で恥をかくなら今恥ずかしい方が良いに決まってる、はしかも若いうちにかかった方がいいって言うし(同じ恥をかく回数がはしかの様に1回ならばの話だけども)。</p>
<p>よし今日も恥をかくことを恐れずに書いていくぞ。と<br />
RADWIMPSの<q>「誤解を恐れず言わせてもらいます」ってそれはもうすでに恐れてます</q>的な前置きでスタートでありんす。</p>
<p><span id="more-1734"></span></p>
<h3>if文</h3>
<p>WordPressのsidebar.phpにdynamic_sidebarの記述があるのだけれど、うちの知っているif文とはちょっと違う書き方のif文になってる。</p>
<pre class="brush: php; title: ; notranslate">&amp;lt;?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(1) ) : ?&amp;gt;
#ダイナミックサイドバーがあるのでここは出力されない
&amp;lt;?php endif; ?&amp;gt;
#こっちが出力される
1
&amp;lt;?php if ( function_exists('dynamic_sidebar') &amp;amp;&amp;amp; dynamic_sidebar(1) ) : else : ?&amp;gt;
#ダイナミックサイドバーがあるのでここは出力されない
&amp;lt;?php endif; ?&amp;gt;
#こっちが出力される
</pre>
<p>endif;が必要。</p>
<p>うちの知ってるif文</p>
<pre class="brush: php; title: ; notranslate">
&amp;lt;?php
if ( $job ){
print ('(ヽ´ω｀)');
} else {
print ('(；´Д｀)ｳｳｯ…');
}
?&amp;gt;
</pre>
<p>これと同じような意味なのかな</p>
<pre class="brush: php; title: ; notranslate">&amp;lt;?php $job=null; if($job){ ?&amp;gt;
(ヽ´ω｀) //仕事がないので出力されない
&amp;lt;?php }else{ ?&amp;gt;
(；´Д｀)ｳｳｯ… //こっちが出力される
&amp;lt;?php } ?&amp;gt;</pre>
<p>「:」があるうから三項演算子に似てるなーと思ったけどifが最初にないもんねあれは。</p>
<h3>endifで検索したらなんか出てきた</h3>
<p><a href="http://aym.pekori.to/php/migration.if-endif.html">if..endif の文法：PHPマニュアル</a></p>
<h4>elseif/else if</h4>
<p><a href="http://php.net/manual/en/control-structures.elseif.php">PHP: elseif/else if &#8211; Manual</a></p>
<pre class="brush: php; title: ; notranslate">
&amp;lt;?php
//これが
if ($a &amp;gt; $b) {
    echo &amp;quot;a is bigger than b&amp;quot;;
} elseif ($a == $b) {
    echo &amp;quot;a is equal to b&amp;quot;;
} else {
    echo &amp;quot;a is smaller than b&amp;quot;;
}
?&amp;gt;

//こうなる?
if($a &amp;gt; $b):
    echo $a.&amp;quot; is greater than &amp;quot;.$b;
elseif($a == $b): // Note the combination of the words.
    echo $a.&amp;quot; equals &amp;quot;.$b;
else:
    echo $a.&amp;quot; is neither greater than or equal to &amp;quot;.$b;
endif;
?&amp;gt;
</pre>
<p>あー、なんとなくわかってきた<br />
if中に&lt;?php ?&gt;を抜けた時、&lt;?php }else{ ?&gt;だと判りづらいから?</p>
<p>いやしかし:else:ってなんだよ</p>
<h3>dynamic_sidebar()</h3>
<p>ダイナミックサイドバーを出したい時、今はこう書いてたけど</p>
<pre class="brush: php; title: ; notranslate">&amp;lt;?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(1) ) : ?&amp;gt;
&amp;lt;?php endif; ?&amp;gt;
</pre>
<p>こっちでも出る。大丈夫なのかなこれ。</p>
<pre class="brush: php; title: ; notranslate">&amp;lt;?php dynamic_sidebar(1) ?&amp;gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/05/if/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/05/if/" />
	</item>
		<item>
		<title>「黄金長方形の軌跡」で回転せよ!そこには「無限に続く力」があるはずだ・・・</title>
		<link>http://blog.sakurachiro.com/2010/05/golden-ratio-silver-ratio/</link>
		<comments>http://blog.sakurachiro.com/2010/05/golden-ratio-silver-ratio/#comments</comments>
		<pubDate>Mon, 10 May 2010 20:40:33 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>
		<category><![CDATA[黄金比]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1728</guid>
		<description><![CDATA[javascriptの練習。 黄金比と白銀比を計算するフォーム。 &#62; (ポップアップで開く)ポップアップはIEじゃ動かなかったなぁ。 作ってる途中で思った事、勘違いした事などを思い出してメモ getElements [...]]]></description>
			<content:encoded><![CDATA[<p>javascriptの練習。<br />
<a href="http://sakurachiro.com/_exercise/javascript/golden-silver-ratio/" title="黄金比と白銀比を計算するフォーム。">黄金比と白銀比を計算するフォーム。</a> &gt; <a href="http://sakurachiro.com/_exercise/javascript/golden-silver-ratio/" rel="shadowbox" title="黄金比と白銀比を計算するフォーム。">(ポップアップで開く)</a>ポップアップはIEじゃ動かなかったなぁ。</p>
<p><span id="more-1728"></span></p>
<h3>作ってる途中で思った事、勘違いした事などを思い出してメモ</h3>
<h4>getElementsByTagName</h4>
<p><span class="note2">こんなhtmlがあった時</span></p>
<pre class="brush: xml; title: ; notranslate">
&lt;form&gt;
&lt;input type=&quot;text&quot; value=&quot;1&quot; /&gt;
&lt;input type=&quot;text&quot; value=&quot;2&quot; /&gt;
&lt;input type=&quot;text&quot; value=&quot;3&quot; /&gt;
&lt;input type=&quot;text&quot; value=&quot;4&quot; /&gt;
&lt;input type=&quot;text&quot; value=&quot;5&quot; /&gt;
&lt;/form&gt;
</pre>
<p>次みたいな書き方したら全てのinputタグにアクセスして、valueを「チェンジ」に変更できると思ってた。でも出来ない。</p>
<pre class="brush: jscript; title: ; notranslate">
document.getElementsByTagName(&quot;input&quot;).value=&quot;チェンジ&quot;;
// 結果:1,2,3,4,5
</pre>
<p>こうする。</p>
<pre class="brush: jscript; title: ; notranslate">
var inputAll=document.getElementsByTagName(&quot;input&quot;);
for(var i=0;i&lt;inputAll.length;i++){
inputAll[i].value=&quot;チェンジ&quot;;
}

// 結果:チェンジ,チェンジ,チェンジ,チェンジ,チェンジ
</pre>
<h4>.onkeyup</h4>
<p>なんか入力したら処理。<br />
submitボタンとblurかfocusで計算を開始させていたんだけど、面倒臭かったのでonkeyupにした。</p>
<pre class="brush: jscript; title: ; notranslate">function funckeyupS(){
 var cdbox=document.getElementById(&quot;cd-box&quot;);
 var obj=cdbox.getElementsByTagName(&quot;input&quot;);
 for(var i=0;i&lt;obj.length;i++){
  obj[i].onkeyup=function(){
  calSilverRatio(this.value,this.name);
  }
 }
}</pre>
<p>forの中&#8221;this&#8221;が自分を参照してた、これ普通だっけ?<br />
iを使うと最後のiしかとれないんだっけ?</p>
<h4>isFinite(変数とか数式とか文字列とか)</h4>
<p>数値かどうか調べる、数値ならtrueを返してくれるらしい。</p>
<p>それなのに不思議だなと思う事。</p>
<pre class="brush: jscript; title: ; notranslate">
/*
&amp;goldvalue=inputに入力された数字
goldenRatio=黄金比
$a=1の辺
$b=0.618の辺
$ab=1.618の辺
*/
//$goldvalueが$aの辺で、入ってる数字が309だとして
function calGoldenRatio(goldvalue){
var $goldvalue=Number(goldvalue); //数字にして

if(isFinite($goldvalue)){ //判定
 $b.value=Math.round($a.value/goldenRatio); //四捨五入して$bへ
 $ab-ng.value=$a.value+$b.value; stringの309191が入る
 $ab-ok.value=parseInt($a.value)+parseInt($b.value); //500になる
 //$ab.value=Number($a.value)+Number($b.value);どっちがいいの?
}</pre>
<p>parseInt()かNumber()を使わないと<br />
どっちも数字のハズの$a.valueと$b.valueを足してるのにstringになる。<br />
第2引数を指定してないparseInt()は、01や02などの文字列を渡すと8進数と解釈するらしい。</p>
<h4>その他</h4>
<p>ifで分岐させるとき、「値が入ってなかったらtrue」みたいにしたい時</p>
<pre class="brush: jscript; title: ; notranslate">if(!変数) //これはtrueになると思ったけど期待通りに動かなかった
if(変数==null) //こっちも
if(変数=='') //これはokだった</pre>
<p>どうやるのが正しいんだろう。</p>
<p>あと何か思い出したら書いていきます。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/05/golden-ratio-silver-ratio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/05/golden-ratio-silver-ratio/" />
	</item>
		<item>
		<title>ステージ枠と中央にガイドを引く.jsx</title>
		<link>http://blog.sakurachiro.com/2010/04/canvas-guidejsx/</link>
		<comments>http://blog.sakurachiro.com/2010/04/canvas-guidejsx/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 06:39:57 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[jsx]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1650</guid>
		<description><![CDATA[[追記 / 20100501] for文の中身を変更した。 使い方イメージ 上のソースを[適当な名前].jsxで保存。 program files以下のphotoshopフォルダにある\プリセット\スクリプト ( C:\ [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush: jscript; title: ; notranslate">var posArr=[0,50,100];//位置%
var dirArr=[&quot;Vrtc&quot;,&quot;Hrzn&quot;];//向き

function guideWrap(direction,position){
var id1 = charIDToTypeID( &quot;Mk  &quot; );
    var desc1 = new ActionDescriptor();
    var id2 = charIDToTypeID( &quot;Nw  &quot; );
        var desc2 = new ActionDescriptor();
        var id3 = charIDToTypeID( &quot;Pstn&quot; );
        var id4 = charIDToTypeID( &quot;#Prc&quot; );
        desc2.putUnitDouble( id3, id4, position );
        var id5 = charIDToTypeID( &quot;Ornt&quot; );
        var id6 = charIDToTypeID( &quot;Ornt&quot; );
        var id7 = charIDToTypeID( direction );
        desc2.putEnumerated( id5, id6, id7 );
    var id8 = charIDToTypeID( &quot;Gd  &quot; );
    desc1.putObject( id2, id8, desc2 );
executeAction(id1,desc1,DialogModes.NO);
}

for(var i=0;i&lt;posArr.length;i++){
    for(var j=0;j&lt;dirArr.length;j++){
        guideWrap(dirArr[j],posArr[i]);
    }
}
</pre>
<p><em class="note2">[追記 / 20100501]</em> for文の中身を変更した。</p>
<p><img src="http://blog.sakurachiro.com/wp-content/uploads/2010/04/20100430-4.png" alt="カンバス枠にガイドを引く.jsxを使ったところ" title="カンバス枠にガイドを引く.jsxを使ったところ" width="391" height="275" class="alignnone size-full wp-image-1651" /></p>
<h3>使い方イメージ</h3>
<p>上のソースを<span class="note4">[適当な名前].jsx</span>で保存。<br />
program files以下のphotoshopフォルダにある\プリセット\スクリプト ( <span class="note2">C:\Program Files\Adobe\Adobe Photoshop CS3\プリセット\スクリプト</span> ) にぶち込むと<span class="note2">[ファイル] &#8211; [スクリプト]</span>から選べるようになるので便利。</p>
<p>[ファイル] &#8211; [スクリプト] &#8211; [参照(B)…]から<span class="note4">[適当な名前].jsx</span>を選んで使える。</p>
<h4>ステージ枠にだけガイドを引くには</h4>
<p>上の.jsxのままだとカンバスの中央にもガイドが引かれて邪魔かもしれない、真ん中のは必要ないよって場合は1行目の50を削除する。</p>
<ul>
<li>ここを　　var posArr=[0,<span class="note3">50</span>,100];</li>
<li>こうする　var posArr=[0,100];</li>
</ul>
<h3>結構作ってる人がいる。</h3>
<p>うちが作ってみた理由もこれと全く同じでした。<br />
<a href="http://dearps.lovwar.com/2009/06/script/">外枠にガイドを引くスクリプト | Dearps ～Adobe Photoshopに関するTipsや便利な裏技を紹介するサイトです～</a></p>
<blockquote cite="http://dearps.lovwar.com/2009/06/script/"><p>カンバスのサイズに合わせたシェイプを描きたい場合等フォトショップはピクセルにスナップしてくれないので外枠にガイドをひく必要があります。</p></blockquote>
<p>高機能、他のjsxもすばらしい。<br />
<a href="http://phize.net/portfolio/photoshop/addguidesex.html">Add Guides EX(1.0.0) &#8211; Adobe Photoshop</a></p>
<blockquote cite="http://phize.net/portfolio/photoshop/addguidesex.html"><p>ダイアログボックスからガイドの位置・幅・間隔・数等を指定することによって、自動的に位置を計算してガイドを作成します。</p></blockquote>
<p>さくさくと引ける。<br />
<a href="http://flabaka.com/blog/?p=1528">flabaka &#8211; 複数のガイドを一度に引けちゃうJSX</a></p>
<blockquote cite="http://flabaka.com/blog/?p=1528"><p>x=50,x=100,x=150,x=200の計4本ガイドを引きたい場合、50,100,150,200と入力し、OKボタンを押します。</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/04/canvas-guidejsx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/04/canvas-guidejsx/" />
	</item>
		<item>
		<title>ie-css3.js ( :nth-childなどのCSS3擬似クラスをIEでも使えるようにするjs ) で失敗した事。</title>
		<link>http://blog.sakurachiro.com/2010/04/ie-css3-js/</link>
		<comments>http://blog.sakurachiro.com/2010/04/ie-css3-js/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 00:46:03 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1629</guid>
		<description><![CDATA[動作テストだからといってhtmlのhead内にcss書いて、ローカルで表示確認していたらエラーしか出なくて途方に暮れた… その原因は2つありました。 ローカルだと機能しない cssは外部化しておく 以下、使い方メモなど。 [...]]]></description>
			<content:encoded><![CDATA[<p>動作テストだからといってhtmlのhead内にcss書いて、ローカルで表示確認していたらエラーしか出なくて途方に暮れた…</p>
<h3>その原因は2つありました。</h3>
<ol>
<li>ローカルだと機能しない</li>
<li>cssは外部化しておく</li>
</ol>
<p>以下、使い方メモなど。</p>
<p><span id="more-1629"></span></p>
<p><span class="note2">ヘッダ部分の例</span></p>
<pre class="brush: xml; title: ; notranslate">&lt;!--[if lte IE 8]&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/DOMAssistantCompressed-2.8.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/ie-css3.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;</pre>
<p><span class="note2">ie-css3.jsダウンロード先</span><br />
<del datetime="2010-09-23T09:25:57+00:00"><a href="http://www.keithclark.co.uk/labs/ie-css3/">Keith Clark &#8211; IE CSS3 pseudo-class selectors</a></del></p>
<p>IE8以下にcss3の擬似クラスを対応させるjsのバージョンが1.0になって名前と配布サイトが変わってた。<br />
<a href="http://selectivizr.com/">Selectivizr &#8211; CSS3 pseudo-class and attribute selectors for IE 6-8</a></p>
<p>ie-css3.js以外にjavascript libraryが必要、色々対応してるので好きなのを選んで使う。<br />
<a href="http://www.domassistant.com/">DOMAssistant 2.8.0</a>と併用すれば以下の擬似クラス全てに対応するようだ。</p>
<p><span class="note2">v0.9.5bで対応している擬似クラス</span><br />
<a href="http://www.keithclark.co.uk/labs/ie-css3/#supported-libaries">Supported JavaScript Libraries</a></p>
<ol style="-moz-column-count:2;-moz-column-gap:10px;-webkit-column-count:2;-webkit-column-gap:10px;">
<li>:nth-child</li>
<li>:nth-last-child</li>
<li>:nth-of-type</li>
<li>:nth-last-of-type</li>
<li>:first-child</li>
<li>:last-child</li>
<li>:only-child</li>
<li>:first-of-type</li>
<li>:last-of-type</li>
<li>:only-of-type</li>
<li>:empty</li>
<li>:enabled</li>
<li>:disabled</li>
<li>:checked</li>
<li>:hover</li>
<li>:focus</li>
<li>:target</li>
<li>::first-line</li>
<li>::first-letter</li>
</ol>
<p><a href="http://zng.info/specs/css3-selectors.html#structural-pseudos">選択子 / 6.6.5 構造上の擬似クラス</a>(日本語訳)</p>
<p><a href="http://sakurachiro.com/_exercise/html_css/css3-nth/">ie-css3.js動作確認サンプル</a><br />
確かにIEでも擬似クラスが有効になってるけど、&lt;pre&gt;のcssが無効になってる。使い方間違ってるのかな…<br />
でもどうやら@importから先のcssファイルを読み込んでくれてないみたいだ。</p>
<h3>書いてあった＞＜；；</h3>
<blockquote><p>A few things you should know:</p>
<p>    * Style sheets MUST be added to the page using a
<link> tag. You can still use @import in your style sheets. Page level style sheets won&#8217;t be parsed<br />
    * Style sheets MUST be hosted on the domain as the page.</link></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/04/ie-css3-js/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/04/ie-css3-js/" />
	</item>
		<item>
		<title>自tumblrの画像を表示させるやつ / 編集途中メモ</title>
		<link>http://blog.sakurachiro.com/2010/03/tumblr-xml/</link>
		<comments>http://blog.sakurachiro.com/2010/03/tumblr-xml/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 16:12:25 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[さくらちろ]]></category>
		<category><![CDATA[tumblr]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2010/03/%e8%87%aatumblr%e3%81%ae%e7%94%bb%e5%83%8f%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b%e3%82%8b%e3%82%84%e3%81%a4-%e7%b7%a8%e9%9b%86%e9%80%94%e4%b8%ad%e3%83%a1%e3%83%a2/</guid>
		<description><![CDATA[TumbprAPIのxmlを使って、とりあえずtestデザインのページ下部に設置してみた。 type=photoを50件。 WordPressのshadowbox JSを使っている、が グループ化されてないので連続して表 [...]]]></description>
			<content:encoded><![CDATA[<p>TumbprAPIのxmlを使って、とりあえず<a href="http://blog.sakurachiro.com/2010/03/tumblr-xml/?wptheme=test#tumblrtest">testデザインのページ下部</a>に設置してみた。<br />
type=photoを50件。</p>
<p>WordPressのshadowbox JSを使っている、が<br />
<del datetime="2010-04-23T18:00:54+00:00">グループ化されてないので連続して表示させられてない。</del><br />
ちょっとエッチな画像のreblogが多いので恥ずかしい。</p>
<h3>次の作業</h3>
<p>shadowboxでグループ化<br />
プラグインの管理画面の作り方を調べて作る / 入力するのはidと読み込み件数くらい。</p>
<h3>そのうちやる</h3>
<p><del datetime="2010-04-23T18:00:54+00:00">記事の詳細画面に入った時のnextボタンをアンカーから次の記事へのリンクになるようにしたいなぁ。</del></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/03/tumblr-xml/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/03/tumblr-xml/" />
	</item>
		<item>
		<title>simplexml_load_fileでxmlの要素にアクセス出来なかった。</title>
		<link>http://blog.sakurachiro.com/2010/03/simplexml_load_file/</link>
		<comments>http://blog.sakurachiro.com/2010/03/simplexml_load_file/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 16:20:05 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[simplexml]]></category>
		<category><![CDATA[tumblr]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2010/03/simplexml_load_file%e3%81%a7xml%e3%81%ae%e8%a6%81%e7%b4%a0%e3%81%ab%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%8b%e3%81%a3%e3%81%9f%e3%80%82/</guid>
		<description><![CDATA[tumblrのxmlを読み込んで画像を表示しようと思ったので simplexmlでxmlを読みこむが何故だか画像urlの要素にアクセス出来ない。 (結論を先に見る) tumblr APIの説明｜和訳 http://(yo [...]]]></description>
			<content:encoded><![CDATA[<p>tumblrのxmlを読み込んで画像を表示しようと思ったので</p>
<h3>simplexmlでxmlを読みこむが何故だか画像urlの要素にアクセス出来ない。</h3>
<p>(<a href="#simplexml_conclusion">結論を先に見る</a>)</p>
<p><a href="http://www.tumblr.com/docs/en/api">tumblr APIの説明</a>｜<a href="http://d.hatena.ne.jp/coro_1729/searchdiary?word=*[Tumblr]" class="broken_link">和訳</a><br />
http://(you).tumblr.com/api/read｜<a href="http://dobinn69.tumblr.com/api/read">うちのtumblrのxml</a></p>
<h3>xml抜粋</h3>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;tumblr version=&quot;1.0&quot;&gt;
 &lt;tumblelog name=&quot;dobinn69&quot; timezone=&quot;US/Eastern&quot; title=&quot;新規ドキュメント&quot;&gt;やっとタイトルを変えて写真変更の仕方が分かったレベル&lt;/tumblelog&gt;
 &lt;posts start=&quot;0&quot; total=&quot;5178&quot;&gt;
  &lt;post id=&quot;423624165&quot; url=&quot;http://dobinn69.tumblr.com/post/423624165&quot; url-with-slug=&quot;http://dobinn69.tumblr.com/post/423624165/x-117-suzukichiyo-ak47-naha&quot; type=&quot;photo&quot; date-gmt=&quot;2010-03-03 05:44:38 GMT&quot; date=&quot;Wed, 03 Mar 2010 00:44:38&quot; unix-timestamp=&quot;1267595078&quot; format=&quot;html&quot; reblog-key=&quot;bcque5Cz&quot; slug=&quot;x-117-suzukichiyo-ak47-naha&quot;&gt;
   &lt;photo-caption&gt;&amp;lt;/blockquote&amp;gt;&lt;/photo-caption&gt;
   &lt;photo-link-url&gt;http://ffffound.com/image/2c4ba8b6bcb787992657ac8266ce5ddbc20588bd&lt;/photo-link-url&gt;
   &lt;photo-url max-width=&quot;1280&quot;&gt;http://dobinn69.tumblr.com/photo/1280/423624165/1/tumblr_kyfivkpZ7u1qzlhmu&lt;/photo-url&gt;
   &lt;photo-url max-width=&quot;500&quot;&gt;http://29.media.tumblr.com/tumblr_kyfivkpZ7u1qzlhmuo1_500.jpg&lt;/photo-url&gt;
   &lt;photo-url max-width=&quot;400&quot;&gt;http://27.media.tumblr.com/tumblr_kyfivkpZ7u1qzlhmuo1_400.jpg&lt;/photo-url&gt;
   &lt;photo-url max-width=&quot;250&quot;&gt;http://26.media.tumblr.com/tumblr_kyfivkpZ7u1qzlhmuo1_250.jpg&lt;/photo-url&gt;
   &lt;photo-url max-width=&quot;100&quot;&gt;http://28.media.tumblr.com/tumblr_kyfivkpZ7u1qzlhmuo1_100.jpg&lt;/photo-url&gt;
   &lt;photo-url max-width=&quot;75&quot;&gt;http://25.media.tumblr.com/tumblr_kyfivkpZ7u1qzlhmuo1_75sq.jpg&lt;/photo-url&gt;
  &lt;/post&gt;
</pre>
<p>この中の<span class="note2">photo-url</span>のどれかが欲しいので最初にこう書いた。<br />
<span class="note3">tumblr.php</span></p>
<pre class="brush: php; title: ; notranslate">
$xml=simplexml_load_file(&quot;http://dobinn69.tumblr.com/api/read&quot;);
$pu=$xml-&gt;posts-&gt;post-&gt;photo-url[0];
</pre>
<p>するとこんなエラーが。<br />
<span class="note4">表示結果</span></p>
<pre class="brush: plain; title: ; notranslate">Parse error: syntax error, unexpected '[' in ファイル名 on line 2</pre>
<p>あるぇ？</p>
<p>なんでかなぁなんでかなぁと検索してみるけど配列へのアクセスは別に間違ってないようだ。</p>
<h3>試しに適当なxmlを作って上記方法でアクセスすると取得出来た。</h3>
<p><span class="note2">test.xml</span></p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;aaa&gt;
 &lt;posts&gt;
  &lt;post&gt;
   &lt;testTitle&gt;test-title&lt;/testTitle&gt;
   &lt;testText&gt;test00&lt;/testText&gt;
   &lt;testText&gt;test10&lt;/testText&gt;
   &lt;testText&gt;test20&lt;/testText&gt;
   &lt;testText&gt;test30&lt;/testText&gt;
   &lt;testText&gt;test40&lt;/testText&gt;
  &lt;/post&gt;
 &lt;/posts&gt;
&lt;/aaa&gt;
</pre>
<p><span class="note3">test.php</span></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

$xml=simplexml_load_file(&quot;test.xml&quot;);
//print_r($xml);
$test=$xml-&gt;posts-&gt;post-&gt;testText[0];
print($test);
?&gt;
</pre>
<p><span class="note4">表示結果</span></p>
<pre class="brush: plain; title: ; notranslate">test00</pre>
<h3 id="simplexml_conclusion">そして結論</h3>
<p>二つを見比べてみる、どうも<span class="note2">要素名にハイフンが入っているのが問題</span>らしい気がする。</p>
<p>さっそくgoogleで<a href="http://www.google.co.jp/search?q=xml%E3%80%80%E3%83%8F%E3%82%A4%E3%83%95%E3%83%B3&#038;ie=utf-8&#038;oe=utf-8&#038;aq=t&#038;rls=org.mozilla:ja:official&#038;hl=ja&#038;client=firefox-a">「xml ハイフン」</a>と検索してみると結構でてきた！<br />
<span class="note2">simplexml_load_fileの問題じゃなかった</span>わけだ。</p>
<p>よってこんな風に変更</p>
<pre class="brush: php; title: ; notranslate">$pu=$xml-&gt;posts-&gt;post-&gt;{&quot;photo-url&quot;}[0];
</pre>
<p><a href="http://itpro.nikkeibp.co.jp/article/COLUMN/20080619/308711/">参考：92. ハイフン付きのメンバ変数名を参照する方法 </a></p>
<blockquote cite="http://itpro.nikkeibp.co.jp/article/COLUMN/20080619/308711/"><p>中括弧とクォーテーションで囲います。こうすることでハイフンが使われている要素名も参照できるようになります。</p></blockquote>
<p>なるほどー。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/03/simplexml_load_file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/03/simplexml_load_file/" />
	</item>
		<item>
		<title>WindowsXPのxamppでperlを動かそうとすると couldn&#8217;t create child process: 720003 でエラーになる時の対処方法メモ。</title>
		<link>http://blog.sakurachiro.com/2010/01/couldnt-create-child-process-720003/</link>
		<comments>http://blog.sakurachiro.com/2010/01/couldnt-create-child-process-720003/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 17:13:04 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[perl]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2010/01/windowsxp%e3%81%aexampp%e3%81%a7perl%e3%82%92%e5%8b%95%e3%81%8b%e3%81%9d%e3%81%86%e3%81%a8%e3%81%99%e3%82%8b%e3%81%a8-couldnt-create-child-process-720003-%e3%81%a7%e3%82%a8%e3%83%a9%e3%83%bc/</guid>
		<description><![CDATA[perlの1行目が なんて風になってる場合なんかだと、 パスが通らない為couldn&#8217;t create child process: 720003になる。 その解決方法を2種類。 解決策1：#!/usr/bi [...]]]></description>
			<content:encoded><![CDATA[<p>perlの1行目が</p>
<pre class="brush: perl; title: ; notranslate">#!/usr/bin/perl</pre>
<p>なんて風になってる場合なんかだと、<br />
パスが通らない為<span class="note3">couldn&#8217;t create child process: 720003</span>になる。<br />
<img src="http://blog.sakurachiro.com/wp-content/uploads/2010/01/20100129-4.png" alt="" title="サーバ内部で障害が発生し、 リクエストに応えることができませんでした。 " width="480" height="185" class="alignnone size-full wp-image-1559" /></p>
<p>その解決方法を2種類。</p>
<p><span id="more-1555"></span></p>
<h2>解決策1：#!/usr/bin/perlを書き換える</h2>
<p>XAMPPの場合、<strong>perl.exe</strong>は<span class="note2">C:\xampp\perl\bin</span>にインストールされるので、perlの1行目を</p>
<pre class="brush: perl; title: ; notranslate">#!C:\xampp\perl\bin\perl.exe</pre>
<p>みたいに変更しておく必要があるそうです。</p>
<p>でもそんなの全部変更するのうっかりミスの原因になるし、なにより面倒くさい。</p>
<h2>解決策2：シンボリックリンクっちゅーのを作る。</h2>
<p>シンボリックリンクを作成すれば#!/usr/bin/perl部分を変更せずにローカルで動かせるようになるらしい。<br />
そっちのほうが断然良い。</p>
<p>ただXPはデフォルトでシンボリックリンクを作成する事が出来ない為<a href="http://www.vector.co.jp/soft/winnt/util/se184746.html">リンク作成シェル拡張for Windows 2000/XP</a>を使う。</p>
<h3>perlのシンボリックリンクを作ってみる。</h3>
<p>1．Cドライブ直下に<span class="note2">usr</span>フォルダを作る<br />
2．C:\xampp\perlフォルダにある<span class="note2">bin</span>フォルダを右クリックでC:\usrにドラッグする<br />
<img src="http://blog.sakurachiro.com/wp-content/uploads/2010/01/20100129-1.png" alt="" title="C:\xampp\perlフォルダのbinフォルダ" width="480" height="185" class="alignnone size-full wp-image-1556" /><br />
3．表示されるメニューから[リンクを作る(L)]を選ぶ<br />
<img src="http://blog.sakurachiro.com/wp-content/uploads/2010/01/20100129-2.png" alt="" title="右クリックでドラッグ" width="480" height="400" class="alignnone size-full wp-image-1557" /><br />
4．C:\usrの中に<span class="note2">bin</span>フォルダが出来る<br />
<img src="http://blog.sakurachiro.com/wp-content/uploads/2010/01/20100129-3.png" alt="" title="こんな感じになる" width="480" height="185" class="alignnone size-full wp-image-1558" /></p>
<p>これで1行目が#!/usr/bin/perlでも<span class="note3">couldn&#8217;t create child process: 720003</span>にならない(ハズ</p>
<h4>参考にさせてもらったサイト</h4>
<p><a href="http://pentan.info/server/windows/activeperl.html#appath">Pentan.info｜Windows版ApacheでCGI(Perl)を使用する方法 ActivePerl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2010/01/couldnt-create-child-process-720003/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2010/01/couldnt-create-child-process-720003/" />
	</item>
		<item>
		<title>暫定版 photoshopのスウォッチ(.aco)を色相で並び替えるようにした</title>
		<link>http://blog.sakurachiro.com/2009/12/photoshop-aco-sort/</link>
		<comments>http://blog.sakurachiro.com/2009/12/photoshop-aco-sort/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 18:11:58 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[photoshop]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2009/12/%e6%9a%ab%e5%ae%9a-photoshop%e3%81%ae%e3%82%b9%e3%82%a6%e3%82%a9%e3%83%83%e3%83%81-aco%e3%82%92%e8%89%b2%e7%9b%b8%e3%81%a7%e4%b8%a6%e3%81%b3%e6%9b%bf%e3%81%88%e3%82%8b%e3%82%88%e3%81%86%e3%81%ab/</guid>
		<description><![CDATA[とりあえずだけどやっと出来た、やっとだ。 スウォッチ(.aco)を色相か彩度か明度で並び替えるテスト 当初、色相の昇順だけを考えていたけど、どうせなのでHSBの昇順/降順6種類から選べるようにしてみた。 1．スウォッチを [...]]]></description>
			<content:encoded><![CDATA[<p>とりあえずだけどやっと出来た、やっとだ。<br />
<a href="http://sakurachiro.com/data/aco-sort/">スウォッチ(.aco)を色相か彩度か明度で並び替えるテスト</a></p>
<p>当初、色相の昇順だけを考えていたけど、どうせなのでHSBの昇順/降順6種類から選べるようにしてみた。</p>
<h3>1．スウォッチを書き出す</h3>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2009/12/20091228-4.png" rel="shadowbox[sbpost-1542];player=img;" title="こんな感じ"><img src="http://blog.sakurachiro.com/wp-content/uploads/2009/12/20091228-4.png" alt="" title="こんな感じ" width="380" height="405" class="alignnone size-full wp-image-1547" /></a><br />
プリセットマネージャーからも書き出せるかもしれないけどやったことない。</p>
<h3>2．ソートの方法を選んで変換する</h3>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2009/12/20091228-2.png" rel="shadowbox[sbpost-1542];player=img;" title="書き出しておいたスウォッチを選ぶ"><img src="http://blog.sakurachiro.com/wp-content/uploads/2009/12/20091228-2-480x355.png" alt="" title="書き出しておいたスウォッチを選ぶ" width="480" height="355" class="alignnone size-large wp-image-1546" /></a><br />
1．で保存したスウォッチを選択して<br />
ソートの基準を色相、彩度、明度から選んで「変換」</p>
<h3>3．ダウンロード</h3>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2009/12/20091228-3.png" rel="shadowbox[sbpost-1542];player=img;" title="解析後"><img src="http://blog.sakurachiro.com/wp-content/uploads/2009/12/20091228-3-480x338.png" alt="" title="解析後" width="480" height="338" class="alignnone size-large wp-image-1545" /></a><br />
登録されている色数とRGBなんかと、ソート前の並び順とソート後の並び順を表示。</p>
<p>ソート済みファイルのダウンロード / 色数colors-西暦月日_時分秒.acoから保存先を選んでダウンロード、名前は変更しても問題なし。</p>
<p>こんな感じで使います。</p>
<p><span class="note2">追記｜2010-01-12</span><br />
不具合修正、<del datetime="2010-01-12T09:39:41+00:00">ついでに重複した色を削除するようにしてみた</del>。<br />
array_uniqueがローカルだと正常動作してるっぽいのに、サーバーにアップすると配列の先頭1つを残して全て削除してしまう、なにゆえ！？</p>
<p><span class="note2">追記2｜2010-01-12</span><br />
array_uniqueの第2引数にSORT_REGULARを設定したところローカルでもサーバー上でも同じ動作になった。<br />
さくらインターネットのarray_uniqueの設定はSORT_STRINGがデフォルトにでもなっているのでしょうか？<br />
ようわからん。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/12/photoshop-aco-sort/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/12/photoshop-aco-sort/" />
	</item>
		<item>
		<title>帰ってきた photoshopのスウォッチ(.aco)を色相で並び替えるようにしたい</title>
		<link>http://blog.sakurachiro.com/2009/12/aco3/</link>
		<comments>http://blog.sakurachiro.com/2009/12/aco3/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 05:02:38 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[photoshop]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1540</guid>
		<description><![CDATA[この記事は最新版があります。 ローカルではacoをソート出来るようになったんですが、アップロードすると動かない。 どうも.acoファイルの読み込みが失敗してるみたい。 色相で並び替えたらこんな感じ。 色相でソートしても明 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sakurachiro.com/2009/12/photoshop-aco-sort/">この記事は最新版があります。</a></p>
<p>ローカルではacoをソート出来るようになったんですが、アップロードすると動かない。<br />
どうも.acoファイルの読み込みが失敗してるみたい。</p>
<p>色相で並び替えたらこんな感じ。<br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2009/12/20091226-3.png" rel="shadowbox[sbpost-1540];player=img;" title="色相で並び替え"><img src="http://blog.sakurachiro.com/wp-content/uploads/2009/12/20091226-3.png" alt="" title="色相で並び替え" width="306" height="335" class="alignnone size-full wp-image-1541" /></a></p>
<p>色相でソートしても明度がめだつなぁ<br />
綺麗なグラデーションになるかと思ってたけど、HSBをうまいこと混ぜてソートしないとダメみたいだがようわからん。</p>
<p>とりあえず、次はファイルのアップロードと変換後のダウンロード出来るようにしなきゃ。</p>
<p>headerつけて、<a href="http://www.php.net/manual/ja/function.readfile.php">readfile</a>を使うのか？</p>
<p><span id="more-1540"></span></p>
<h3>前回からここまでにつまづいた部分と大体の流れ</h3>
<p>バイナリデータ(.aco)を16進数で開いて(<a href="http://jp2.php.net/manual/ja/function.bin2hex.php">bin2hex</a>)<br />
先頭から2番目のブロックの色数を<a href="http://jp2.php.net/manual/ja/function.hexdec.php">hexdec</a>で16進数から10進数に変換してループを回してRRRR GGGG BBBBを抽出。</p>
<h4>色相で並び替えたいのでRGBからHSBに変換する準備。</h4>
<p>RRRR GGGG BBBBからRR GG BBの配列を作成して<a href="http://jp2.php.net/manual/ja/function.max.php">max</a>と<a href="http://jp2.php.net/manual/ja/function.min.php">min</a>を使ってmaxとminを抽出、RGBと絡めてH(色相)を抽出。<br />
ついでにS(彩度)とB(明度)も調べ配列に入れとく。</p>
<h4>ソート</h4>
<p><a href="http://jp2.php.net/manual/ja/function.array-multisort.php">array_multisort</a>を使って[例3 データベースの結果をソートする]を参考にソート。</p>
<p><a href="http://jp2.php.net/manual/ja/function.str-pad.php">str_pad</a>などで隙間を埋めた。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/12/aco3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/12/aco3/" />
	</item>
		<item>
		<title>bin2hexと書こうとするとbin22hexに変換される。</title>
		<link>http://blog.sakurachiro.com/2009/12/bin2hex-bin22hex/</link>
		<comments>http://blog.sakurachiro.com/2009/12/bin2hex-bin22hex/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 18:21:25 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2009/12/bin2hex%e3%81%a8%e6%9b%b8%e3%81%93%e3%81%86%e3%81%a8%e3%81%99%e3%82%8b%e3%81%a8bin22hex%e3%81%ab%e5%a4%89%e6%8f%9b%e3%81%95%e3%82%8c%e3%82%8b%e3%80%82/</guid>
		<description><![CDATA[google日本語入力のせいだ。 と、思う。 phpメモ bin2hex：バイナリを16進数で表示 hexdec：16進数を10進数に変換 dechex：10進数を16進数に変換 pack(&#8220;H*&#8221 [...]]]></description>
			<content:encoded><![CDATA[<p>google日本語入力のせいだ。<br />
と、思う。</p>
<h3>phpメモ</h3>
<p>bin2hex：バイナリを16進数で表示<br />
hexdec：16進数を10進数に変換</p>
<p>dechex：10進数を16進数に変換</p>
<p>pack(&#8220;H*&#8221;,文字列);：16進数をバイナリに変換？</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/12/bin2hex-bin22hex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/12/bin2hex-bin22hex/" />
	</item>
		<item>
		<title>array_multisort — 複数の多次元の配列をソートする</title>
		<link>http://blog.sakurachiro.com/2009/12/array_multisort/</link>
		<comments>http://blog.sakurachiro.com/2009/12/array_multisort/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 11:47:08 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2009/12/array_multisort-%e2%80%94-%e8%a4%87%e6%95%b0%e3%81%ae%e5%a4%9a%e6%ac%a1%e5%85%83%e3%81%ae%e9%85%8d%e5%88%97%e3%82%92%e3%82%bd%e3%83%bc%e3%83%88%e3%81%99%e3%82%8b/</guid>
		<description><![CDATA[array_multisort — 複数の多次元の配列をソートするの 「例3 データベースの結果をソートする」が理解できない。悔しいやら情けないやら。 「こうゆうものだ」って覚えるようなものじゃない気がするんだよなぁ。  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.php.net/manual/ja/function.array-multisort.php">array_multisort — 複数の多次元の配列をソートする</a>の<br />
「例3 データベースの結果をソートする」が理解できない。悔しいやら情けないやら。</p>
<pre class="brush: php; title: ; notranslate">
$ar1=array(&quot;name&quot;=&gt;&quot;サヨナラダンス&quot;,&quot;bpm&quot;=&gt;127);
$ar2=array(&quot;name&quot;=&gt;&quot;ハローグッバイ&quot;,&quot;bpm&quot;=&gt;88);
$ar3=array(&quot;name&quot;=&gt;&quot;WAGON&quot;,&quot;bpm&quot;=&gt;131);
$data=array($ar1,$ar2,$ar3);
print_r($data);

foreach ($data as $key =&gt; $row) {
    $name[$key]  = $row['name'];
    $bpm[$key] = $row['bpm'];
}

array_multisort($bpm,SORT_DESC,$data);
print_r($data);
</pre>
<pre class="brush: plain; title: ; notranslate">
//ソート前
Array (
　[0] =&gt; Array ( [name] =&gt; サヨナラダンス [bpm] =&gt; 127 )
　[1] =&gt; Array ( [name] =&gt; ハローグッバイ [bpm] =&gt; 88 )
　[2] =&gt; Array ( [name] =&gt; WAGON [bpm] =&gt; 131 )
)

//ソート後
Array (
　[0] =&gt; Array ( [name] =&gt; WAGON [bpm] =&gt; 131 )
　[1] =&gt; Array ( [name] =&gt; サヨナラダンス [bpm] =&gt; 127 )
　[2] =&gt; Array ( [name] =&gt; ハローグッバイ [bpm] =&gt; 88 )
)
</pre>
<p>「こうゆうものだ」って覚えるようなものじゃない気がするんだよなぁ。<br />
<a href="http://jp.php.net/manual/ja/control-structures.foreach.php">foreach</a>とセットでしか多次元の連想配列はソート出来ないのかな。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/12/array_multisort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/12/array_multisort/" />
	</item>
		<item>
		<title>続 photoshopのスウォッチ(.aco)を色相で並び替えるようにしたい</title>
		<link>http://blog.sakurachiro.com/2009/12/aco2/</link>
		<comments>http://blog.sakurachiro.com/2009/12/aco2/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 07:49:46 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[photoshop]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2009/12/%e7%b6%9a-photoshop%e3%81%ae%e3%82%b9%e3%82%a6%e3%82%a9%e3%83%83%e3%83%81-aco%e3%82%92%e8%89%b2%e7%9b%b8%e3%81%a7%e4%b8%a6%e3%81%b3%e6%9b%bf%e3%81%88%e3%82%8b%e3%82%88%e3%81%86%e3%81%ab%e3%81%97/</guid>
		<description><![CDATA[20091227｜とりあえずのが出来たのでアップしまんた。 暫定版 photoshopのスウォッチ(.aco)を色相で並び替えるようにした &#8212;&#8212;&#8212;&#8212;&#8212;&#821 [...]]]></description>
			<content:encoded><![CDATA[<p>20091227｜とりあえずのが出来たのでアップしまんた。<br />
<a href="http://blog.sakurachiro.com/2009/12/photoshop-aco-sort/">暫定版 photoshopのスウォッチ(.aco)を色相で並び替えるようにした</a><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p><a href="http://blog.sakurachiro.com/2009/12/aco/">photoshopのスウォッチ(.aco)を色相で並び替えるようにしたい</a>の続き。</p>
<h3>まだまだ完成しないけど現状のメモ</h3>
<pre class="brush: php; title: ; notranslate">
$fileName=&quot;945066.aco&quot;;
$aco=fopen($fileName,&quot;rb&quot;);
$acoStr=fread($aco,filesize($fileName));
$acoStr=bin2hex($acoStr);

//基本
$setBlock=20;//色一区切り
$setHead=12;//頭出し分
$cutNum=12;//切り取る分
//色数
$colorMax=substr($acoStr,4,4);
echo hexdec($colorMax).&quot;&lt;br&gt;&quot;;

//
for($ii=0;$ii&lt;hexdec($colorMax);$ii++){
$nowBlock=($setBlock*$ii)+$setHead;
//
$colorName4[$ii]=substr($acoStr,$nowBlock,$cutNum);
$colorName4[$ii]=str_split($colorName4[$ii],4);
for($i=0;$i&lt;3;$i++){
$colorName2[$ii][$i]=substr($colorName4[$ii][$i],0,2);
}
}

print_r($colorName2);
fclose($aco);
</pre>
<pre class="brush: plain; title: ; notranslate">出力結果：
2
Array ( [0] =&gt; Array ( [0] =&gt; 50 [1] =&gt; 8b [2] =&gt; 94 ) [1] =&gt; Array ( [0] =&gt; 94 [1] =&gt; 50 [2] =&gt; 66 ) )
</pre>
<p><span id="more-1533"></span></p>
<h3>まず.acoの開き方を調べた</h3>
<p>.acoはバイナリなのでfopenにbで開く<br />
そのままだと化けてたので<br />
$acoのバイナリデータをbin2hexで16進数に</p>
<pre class="brush: php; title: ; notranslate">
$fileName=&quot;945066.aco&quot;;
$aco=fopen($fileName,&quot;rb&quot;);
$acoStr=fread($aco,filesize($fileName));
$acoStr=bin2hex($acoStr);

echo wordwrap($acoStr,4,&quot; &quot;,true);//出力結果を見やすくする為に入れた

fclose($aco);
</pre>
<pre class="brush: plain; title: ; notranslate">
$acot出力結果：
0001 0002 0000 5050 8b8b 9493 0000 0000 9493 5050 6666 0000 0002 0002 0000 5050 8b8b 9493 0000 0000 0008 30b9 30a6 30a9 30c3 30c1 0020 0031 0000 0000 9493 5050 6666 0000 0000 0008 30b9 30a6 30a9 30c3 30c1 0020 0032 0000
</pre>
<p>色の開始位置が先頭から12<br />
1セット0000 RRRR GGGG BBBB 0000の20<br />
必要な分が12</p>
<pre class="brush: php; title: ; notranslate">
$setBlock=20;//色一区切り
$setHead=12;//頭出し分
$cutNum=12;//切り取る分
</pre>
<p>.acoに何色登録されてるか抜き出す</p>
<pre class="brush: php; title: ; notranslate">
//色数
$colorMax=substr($acot,4,4);
echo hexdec($colorMax).&quot;&lt;br&gt;&quot;;
</pre>
<p><span class="note2">hexdec</span>：16進数を10進数で返す</p>
<h3>色を抜き出す</h3>
<p>ここをどうしたらいいんだろうかわからん。<br />
0000～0000の中身だけを取得する方法はないもんかな。</p>
<p><span class="note3">1セット(20)×色数</span>分シフトさせてく。</p>
<pre class="brush: php; title: ; notranslate">
for($ii=0;$ii&lt;hexdec($colorMax);$ii++){
$nowBlock=($setBlock*$ii)+$setHead;
</pre>
<pre class="brush: php; title: ; notranslate">
$colorName4[$ii]=substr($acoStr,$nowBlock,$cutNum);
$colorName4[$ii]=str_split($colorName4[$ii],4);
for($i=0;$i&lt;3;$i++){
$colorName2[$ii][$i]=substr($colorName4[$ii][$i],0,2);
}
}
</pre>
<p>RRRRGGGGBBBBを抜き出して<br />
$array[0]=RRRR<br />
$array[1]=GGGG<br />
$array[2]=BBBB<br />
みたいになるよう配列に入れて<br />
さらにRR GG BBになるよう2次元配列にいれた。<br />
入れ方がこれで正しいのか…</p>
<p><span class="note2">substr</span>：文字列の一部分を範囲指定して返す<br />
<span class="note2">str_split</span>：文字列を配列に変換</p>
<pre class="brush: php; title: ; notranslate">print_r($colorName2);
fclose($aco);
</pre>
<p><span class="note2">print_r</span>：変数の情報を吐き出す<br />
<span class="note2">var_dump</span>：print_rより吐き出す情報が多い<br />
<span class="note2">fclose</span>：ファイル閉じる</p>
<p>さて、この後はどうしたらいいんでしょう。<br />
完成するといいな。</p>
<h3>追記</h3>
<p>色相で並び替えるから<br />
RGBをHSBに変換して、Hでソートすればいいんですよね？<br />
RGBからHSBのHと出すにはr,g,bを比較しなきゃダメで<br />
ソートした後に移動させたら0000で包み込んで書き出す？<br />
最初にbin2hexしたから逆のことしなきゃダメなんかな？</p>
<p>2箇所にあるRGBの表記はどうやってまとめたらいいのかな</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/12/aco2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/12/aco2/" />
	</item>
		<item>
		<title>photoshopのスウォッチ(.aco)を色相で並び替えるようにしたい</title>
		<link>http://blog.sakurachiro.com/2009/12/aco/</link>
		<comments>http://blog.sakurachiro.com/2009/12/aco/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 13:20:58 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[photoshop]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2009/12/photoshop%e3%81%ae%e3%82%b9%e3%82%a6%e3%82%a9%e3%83%83%e3%83%81-aco%e3%82%92%e8%89%b2%e7%9b%b8%e3%81%a7%e4%b8%a6%e3%81%b3%e6%9b%bf%e3%81%88%e3%82%8b%e3%82%88%e3%81%86%e3%81%ab%e3%81%97%e3%81%9f/</guid>
		<description><![CDATA[20091227｜とりあえずのが出来たのでアップしまんた。 暫定版 photoshopのスウォッチ(.aco)を色相で並び替えるようにした &#8212;&#8212;&#8212;&#8212;&#8212;&#821 [...]]]></description>
			<content:encoded><![CDATA[<p>20091227｜とりあえずのが出来たのでアップしまんた。<br />
<a href="http://blog.sakurachiro.com/2009/12/photoshop-aco-sort/">暫定版 photoshopのスウォッチ(.aco)を色相で並び替えるようにした</a><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>何をどうしたらそんな事が出来るようになるのかわからんので、やってる事がずれてるかもしれんけどもメモ。</p>
<p>.acoの中身を見たい、<br />
バイナリエディタで見るしかないようだ。<br />
<a href="http://www.vector.co.jp/soft/win95/util/se079072.html">Stirling</a>を使ってみる。</p>
<p>16進数？なにそれ、まいったな。</p>
<h3>適当なスウォッチを何個か作って.acoで書き出して、見比べてみて判ったこと</h3>
<p><span style="background:#508b94;color:#fff;">#508b94</span> を2個登録したスウォッチをバイナリエディタで開くと以下の通り</p>
<pre class="brush: plain; title: ; notranslate">
00 01 00 02 00 00 50 50 8B 8B 94 93 00 00 00 00
50 50 8B 8B 94 93 00 00 00 02 00 02 00 00 50 50
8B 8B 94 93 00 00 00 00 00 08 30 B9 30 A6 30 A9
30 C3 30 C1 00 20 00 31 00 00 00 00 50 50 8B 8B
94 93 00 00 00 00 00 08 30 B9 30 A6 30 A9 30 C3
30 C1 00 20 00 32 00 00
</pre>
<p>2色目を<span style="background:#945066;color:#fff;">#945066</span>に変更したスウォッチは以下</p>
<pre class="brush: plain; title: ; notranslate">
00 01 00 02 00 00 50 50 8B 8B 94 93 00 00 00 00
94 93 50 50 66 66 00 00 00 02 00 02 00 00 50 50
8B 8B 94 93 00 00 00 00 00 08 30 B9 30 A6 30 A9
30 C3 30 C1 00 20 00 31 00 00 00 00 94 93 50 50
66 66 00 00 00 00 00 08 30 B9 30 A6 30 A9 30 C3
30 C1 00 20 00 32 00 00
</pre>
<p>最初の00 01と最後の00 00は定型ぽい<br />
次の00 02が登録されてる色の数、<br />
3つ登録してあるスウォッチは00 03で、58個登録されてるスウォッチは00 3Aだった。<br />
(<a href="http://hogehoge.tk/tool/number.html">2進数、8進数、10進数、16進数相互変換</a>で変換させてもらってます。)</p>
<p>次の00 00がよく分からないけど区切り？<br />
その後の50 50 8B 8B 94 93がhex値、前半2桁だけが有効？で00 00で閉じる？</p>
<pre class="brush: plain; title: ; notranslate">00 08 30 B9 30 A6 30 A9 30 C3 30 C1 00 20 00</pre>
<p>も区切りかな</p>
<p>hex値ぽいところを以下のようにガーっと00にしてもちゃんと読み込む</p>
<pre class="brush: plain; title: ; notranslate">
00 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 02 00 02 00 00 50 50
8B 8B 94 93 00 00 00 00 00 08 30 B9 30 A6 30 A9
30 C3 30 C1 00 20 00 31 00 00 00 00 94 93 50 50
66 66 00 00 00 00 00 08 30 B9 30 A6 30 A9 30 C3
30 C1 00 20 00 32 00 00
</pre>
<p>02 00 02 00からが本当の色設定？</p>
<h3>phpのテスト</h3>
<pre class="brush: xml; title: ; notranslate">
&lt;!-- rgb.html --&gt;
&lt;form id=&quot;form1&quot; name=&quot;form1&quot; method=&quot;post&quot; action=&quot;rgb.php&quot;&gt;
&lt;ul&gt;&lt;li&gt;&lt;label for=&quot;rr&quot;&gt;r&lt;/label&gt;:&lt;input type=&quot;text&quot; name=&quot;rr&quot; id=&quot;rr&quot; max=&quot;3&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;label for=&quot;gg&quot;&gt;g&lt;/label&gt;:&lt;input type=&quot;text&quot; name=&quot;gg&quot; id=&quot;gg&quot; max=&quot;3&quot; /&gt;&lt;/li&gt;
&lt;li&gt;&lt;label for=&quot;bb&quot;&gt;b&lt;/label&gt;:&lt;input type=&quot;text&quot; name=&quot;bb&quot; id=&quot;bb&quot; max=&quot;3&quot; /&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;input type=&quot;submit&quot; /&gt;
&lt;/form&gt;
</pre>
<pre class="brush: php; title: ; notranslate">
// rgb.php
$r=hexdec($_POST[&quot;rr&quot;]);
$g=hexdec($_POST[&quot;gg&quot;]);
$b=hexdec($_POST[&quot;bb&quot;]);
//
$max=max($r,$g,$b);
$min=min($r,$g,$b);
print &quot;max:&quot;.$max.&quot;&lt;Br&gt;&quot;;
print &quot;min:&quot;.$min.&quot;&lt;Br&gt;&quot;;
print $_POST[&quot;rr&quot;].&quot;&lt;Br&gt;&quot;;
print $_POST[&quot;gg&quot;].&quot;&lt;Br&gt;&quot;;
print $_POST[&quot;bb&quot;].&quot;&lt;Br&gt;&quot;;

if($max==$min){
	$hue=0;
}
else if($g==$max) {
$hue=($b-$r)/($max-$min)*60+120;
}
else if($b==$max) {
$hue=($r-$g)/($max-$min)*60+240;
}
else if($g&lt;$b){
$hue=($g-$b)/($max-$min)*60+360;
}
else{
$hue=($g-$b)/($max-$min)*60;
}
print &quot;hue値&quot;.$hue;
</pre>
<p>でhexからhueを取り出せた。</p>
<h3>あと必要な事</h3>
<p>.acoの色の格納のされ方と範囲指定しての取り出し方<br />
phpでバイナリを読む方法<br />
とか？<br />
方向はあってるんのでしょうか…</p>
<h3>とりあえずphpで読み込んでみた</h3>
<p>辞書を引きながら、こんな感じに。</p>
<pre class="brush: php; title: ; notranslate">$fname=&quot;945066.aco&quot;;
$aco=fopen($fname,&quot;rb&quot;);
$str=fread($aco,filesize($fname));
$str=bin2hex($str);
echo $str;

$aco_ar=explode('0000',$str);
print_r($aco_ar);

fclose($aco);
</pre>
<p>出力結果</p>
<pre class="brush: plain; title: ; notranslate">
00010002000050508b8b949300000000949350506666000000020002000050508b8b949300000000000830b930a630a930c330c1002000310000000094935050666600000000000830b930a630a930c330c1002000320000Array
(
    [0] =&gt; 00010002
    [1] =&gt; 50508b8b9493
    [2] =&gt;
    [3] =&gt; 949350506666
    [4] =&gt; 00020002
    [5] =&gt; 50508b8b9493
    [6] =&gt;
    [7] =&gt; 000830b930a630a930c330c100200031
    [8] =&gt;
    [9] =&gt; 949350506666
    [10] =&gt;
    [11] =&gt; 000830b930a630a930c330c100200032
    [12] =&gt;
)
</pre>
<p><span class="note2">メモ</span><br />
explode(&#8216;区切り文字&#8217;,文字列);<br />
explode(&#8217;0000&#8242;,$str);</p>
<p>0000で区切ったけど、これだと#000が登場した時に区切り文字になってしまう。</p>
<p><span class="note2">メモ2</span><br />
どうゆう風にしてけばいいんだろ<br />
最初の2バイトを飛ばして、次の2バイトに格納されてる色の数を取得<br />
前半<em>00 00 RR RR GG GG BB BB 00 00</em>で1セット<br />
RR RRなどそれぞれの後半2文字を飛ばす<br />
000830b930a630a930c330c1002000の前に出てくるRRRR GGGG BBBBを書き換える</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/12/aco/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/12/aco/" />
	</item>
		<item>
		<title>jQuery Masonryを使いたいんだけど</title>
		<link>http://blog.sakurachiro.com/2009/12/jquery-masonry/</link>
		<comments>http://blog.sakurachiro.com/2009/12/jquery-masonry/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 12:01:56 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2009/12/jquery-masonry%e3%82%92%e4%bd%bf%e3%81%84%e3%81%9f%e3%81%84%e3%82%93%e3%81%a0%e3%81%91%e3%81%a9/</guid>
		<description><![CDATA[jQuery Masonryってのは、grid-a-liciousみたいにdivをタイルみたいに並べるやつ。 htmlのhead内で次の2ファイルを読み込んで 下のソースみたいのをbody内に書いて cssはこんな感じ。 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://desandro.com/demo/masonry/basic.html" class="broken_link">jQuery Masonry</a>ってのは、grid-a-liciousみたいにdivをタイルみたいに並べるやつ。<br />
<img src="http://blog.sakurachiro.com/wp-content/uploads/2009/12/20100502-1.gif" alt="jQuery Masonry demo" title="jQuery Masonry demo" width="480" height="296" class="alignnone size-full wp-image-1660" /></p>
<p>htmlのhead内で次の2ファイルを読み込んで</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery-1.3.2.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.masonry.js&quot;&gt;&lt;/script&gt;
</pre>
<p>下のソースみたいのをbody内に書いて</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;primary&quot;&gt;
&lt;div class=&quot;box&quot;&gt;ボックスボックスボックス&lt;/div&gt;
&lt;div class=&quot;box&quot;&gt;ボックスボックスボックスボックスボックスボックスボックスボックスボックスボックスボックスボックスボックスボックスボックス&lt;/div&gt;
&lt;div class=&quot;box&quot;&gt;ボックスボックスボックス&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>cssはこんな感じ。</p>
<pre class="brush: css; title: ; notranslate">
#primary {
	width:870px;
}
.box {
	width:200px;
	float:left;
	background:#f33;
	border-radius:5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
</pre>
<p>最後にBasic Examplesのページに書いてあったのを追加してみるけど。</p>
<pre class="brush: jscript; title: ; notranslate">
$('#primary').masonry({
    columnWidth: 100,
    itemSelector: '.box'
});
</pre>
<p>普通に.boxをfloatした時と同じ表示にしかならない。<br />
何を間違ってるんだろう(´；ω；`)ｳｳｯ…</p>
<h3>functionで囲んだら動いた。</h3>
<pre class="brush: jscript; title: ; notranslate">
$(function(){
 $('#primary').masonry({
    columnWidth: 100,
    itemSelector: '.box'
});
})
</pre>
<p>jQueryはそうやって使うのがデフォだから、わざわざexampleには記述されてない？<br />
わからん( ´･＿･｀) </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/12/jquery-masonry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/12/jquery-masonry/" />
	</item>
		<item>
		<title>毎朝俺の為に、width変えた時の縦横比を守ったheightを計算してくれないか。</title>
		<link>http://blog.sakurachiro.com/2009/11/width-height/</link>
		<comments>http://blog.sakurachiro.com/2009/11/width-height/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 01:57:39 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2009/11/width%e5%a4%89%e3%81%88%e3%81%9f%e6%99%82%e3%81%ab%e7%b8%a6%e6%a8%aa%e6%af%94%e5%ae%88%e3%81%a3%e3%81%9fheight%e8%a8%88%e7%ae%97%e3%81%97%e3%81%a6%e3%81%8f%e3%82%8c%e3%81%aa%e3%81%84%e3%81%8b%e3%80%82/</guid>
		<description><![CDATA[一辺が固定の四角形のサイズ変更後の高さを計算させるform [2009年11月16日 11:59修正しました]一辺が固定の四角形のサイズ変更後の高さを計算させるformその2 こんなの電卓でちょちょいと計算すればすむのに [...]]]></description>
			<content:encoded><![CDATA[<p><del datetime="2009-11-16T03:59:21+00:00"><a href="http://sakurachiro.com/_exercise/javascript/height/">一辺が固定の四角形のサイズ変更後の高さを計算させるform</a></del></p>
<p>[2009年11月16日 11:59修正しました]<a href="http://sakurachiro.com/_exercise/javascript/height/index2.html">一辺が固定の四角形のサイズ変更後の高さを計算させるformその2</a><br />
こんなの電卓でちょちょいと計算すればすむのに、あほなので作った。</p>
<p>以下、なんでそんな事しかたという説明。</p>
<p><span id="more-1384"></span></p>
<p>このblogはgrungeというテーマを残してある為、<br />
コンテンツ本文部分のwidhtが400pxまでしか使えない縛りがあります(simpleは1カラムでwidth100%、dying-flowerはたぶん900pxのwidth76%)。</p>
<p>WordPress君は賢いので、400pxより大きい画像を挿入しても、横幅が400pxになるように縦横比を揃えてheightを計算してくれます。</p>
<p>けどyoutubeだと、これがうまくいかない。</p>
<p>先日の<a href="http://blog.sakurachiro.com/2009/11/photomovie/">写真で動画</a>というエントリーの時にyoutube貼ったけど<br />
[埋め込み]のurlを[カスタマイズ]できるんだけど、widthとheightは決めうちの中から選ぶ事になってるようで横幅400pxは無いんですよね、<br />
なので自分でheightを計算しなくちゃいけなくて面倒くさいなぁと思ったわけです。</p>
<p>面倒だからwidthだけ400pxに変更すれば大丈夫でしょうとして公開したら<br />
縦横比が変わるというか、Firefoxにswfのheightを入力しなかった時の初期値があるのか、二つとおも同じ高さになって<br />
それにあわせて動画の横幅(プレイヤーのではなく)が縮んで見えないよコレ！と。</p>
<p>たぶん式はこんな感じ(計算苦手なのでアバウトに)で修正してアップしたです。</p>
<pre class="brush: plain; title: ; notranslate">変更後の高さ = ( 希望の横幅 / 今の横幅 ) * 今の高さ ;</pre>
<h3><a href="http://sakurachiro.com/_exercise/javascript/height/index2.html">修正後</a>の手順</h3>
<p><strong>html</strong></p>
<pre class="brush: xml; title: ; notranslate">
&lt;form id=&quot;result&quot;&gt;
	&lt;dl&gt;
		&lt;dt&gt;&lt;label for=&quot;nowwidth&quot;&gt;元のwidth：&lt;/label&gt;&lt;/dt&gt;
		&lt;dd&gt;&lt;input name=&quot;nowwidth&quot; id=&quot;nowwidth&quot; type=&quot;text&quot; /&gt;&lt;/dd&gt;
		&lt;dt&gt;&lt;label for=&quot;nowheight&quot;&gt;元のheight：&lt;/label&gt;&lt;/dt&gt;
		&lt;dd&gt;&lt;input name=&quot;nowheight&quot; id=&quot;nowheight&quot; type=&quot;text&quot; /&gt;&lt;/dd&gt;
		&lt;dt&gt;&lt;label for=&quot;targetwidth&quot;&gt;目標のwidth：&lt;/label&gt;&lt;/dt&gt;
		&lt;dd&gt;&lt;input name=&quot;targetwidth&quot; id=&quot;targetwidth&quot; type=&quot;text&quot; /&gt;px&lt;/dd&gt;
	&lt;/dl&gt;

	&lt;p&gt;&lt;input type=&quot;button&quot; title=&quot;check&quot; id=&quot;check&quot; value=&quot;check&quot; /&gt;&lt;/p&gt;

	&lt;dl&gt;
		&lt;dt&gt;結果：&lt;/dt&gt;
		&lt;dd&gt;&lt;input type=&quot;text&quot; name=&quot;resultheight&quot; id=&quot;resultheight&quot; value=&quot;結果&quot; /&gt;&lt;/dd&gt;
	&lt;/dl&gt;
&lt;/form&gt;
</pre>
<p>jsのイベント削除した。<br />
formの中のソースが綺麗になった(cssもjsも外部化してないけど)。</p>
<p><strong>javascript</strong></p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;
	window.onload=function(){
	document.getElementById(&quot;nowwidth&quot;).focus(); //ウィンドウを開いたら最初のinputをfocusさせておく
	document.getElementById(&quot;check&quot;).onfocus=checkheight; //checkボタン押したら計算開始
	document.getElementById(&quot;resultheight&quot;).onfocus=this.select; //結果のinputにfocusしたらテキストを選択
}

function checkheight(){
	res=document.getElementById(&quot;result&quot;); //入力の手間を省く
	nw=res.nowwidth;
	nh=res.nowheight;
	tw=res.targetwidth
	rh=res.resultheight;

	var nextheight=Math.floor((tw.value/nw.value)*nh.value); //小数点が返る事もあるのでMath.floorで切り捨てる
	rh.value='width=\&quot;'+tw.value+'\&quot; height=\&quot;'+nextheight+'\&quot;';
}
&lt;/script&gt;
</pre>
<p>focus();とonfocusの違いがよく判ってないです。<br />
bodyのonloadをwindow.onloadに変更するのと一緒みたいな感じにした。</p>
<p><strong>css(抜粋)</strong>これは前と一緒。</p>
<pre class="brush: css; title: ; notranslate">
input[type=&quot;text&quot;] {
	font-size:110%;
	padding:0.1em 0.2em;
	border:1px solid #999;
}
input[type=&quot;text&quot;]:focus {
	border:1px solid #6CC;
	background:#F7FDFF;
}

form dl{
	padding:1em;
	border:5px solid #999;
	border-radius:3px;
	-moz-border-radius: 3px;
}
form dt{
	padding:0.4em 0.5em;
	display:inline;/*最初のうち上のpaddingをmarginで指定して背景色を表示させてた名残、今は必要ない指定。*/
	width:7.5em;
	font-weight:bold;
	float:left;/*続くddを横に置く、floatを使わないければmargin-topにネガティブマージンを指定でもok？*/
}
form dd{
	padding:0.4em 0.5em;
	margin:0 0 0 7.5em;
}
</pre>
<h3><a href="http://sakurachiro.com/_exercise/javascript/height/">修正前</a>の手順</h3>
<p><strong>html</strong></p>
<pre class="brush: xml; title: ; notranslate">&lt;form id=&quot;result&quot;&gt;
	&lt;dl&gt;
		&lt;dt&gt;
			&lt;label for=&quot;nowwidth&quot;&gt;元のwidth：&lt;/label&gt;
		&lt;/dt&gt;
		&lt;dd&gt;
			&lt;input name=&quot;nowwidth&quot; id=&quot;nowwidth&quot; type=&quot;text&quot; /&gt;
		&lt;/dd&gt;
		&lt;dt&gt;
			&lt;label for=&quot;nowheight&quot;&gt;元のheight：&lt;/label&gt;
		&lt;/dt&gt;
		&lt;dd&gt;
			&lt;input name=&quot;nowheight&quot; id=&quot;nowheight&quot; type=&quot;text&quot; /&gt;
		&lt;/dd&gt;
		&lt;dt&gt;
			&lt;label for=&quot;targetwidth&quot;&gt;目標のwidth：&lt;/label&gt;
		&lt;/dt&gt;
		&lt;dd&gt;
			&lt;input name=&quot;targetwidth&quot; id=&quot;targetwidth&quot; type=&quot;text&quot; /&gt;
			px&lt;/dd&gt;
	&lt;/dl&gt;
	&lt;p&gt;
		&lt;input type=&quot;button&quot; title=&quot;check&quot; id=&quot;check&quot; value=&quot;check&quot; onclick=&quot;checkheight()&quot; onfocus=&quot;checkheight()&quot; /&gt;
	&lt;/p&gt;
	&lt;dl&gt;
		&lt;dt&gt;結果：&lt;/dt&gt;
		&lt;dd&gt;
			&lt;input type=&quot;text&quot; name=&quot;resultheight&quot; id=&quot;resultheight&quot; value=&quot;結果&quot; onfocus=&quot;this.select()&quot; /&gt;
		&lt;/dd&gt;
	&lt;/dl&gt;
&lt;/form&gt;
</pre>
<p>28行目：<span class="note2">onfocus=&#8221;this.select()</span>でフォーカスした時に勝手にテキストを選択するように。</p>
<p><strong>javascript</strong></p>
<pre class="brush: jscript; title: ; notranslate">&lt;script type=&quot;text/javascript&quot;&gt;
	window.onload=function(){
	document.getElementById('nowwidth').focus(); //ウィンドウを開いたら最初のinputをfocusさせておく
}
function checkheight(){
	res=document.getElementById(&quot;result&quot;);//入力の手間を省く
	nw=res.nowwidth;
	nh=res.nowheight;
	tw=res.targetwidth
	rh=res.resultheight;

	var nextheight=Math.floor((tw.value/nw.value)*nh.value);//小数点が返る事もあるのでMath.floorで切り捨てる
	rh.value='width=\&quot;'+tw.value+'\&quot; height=\&quot;'+nextheight+'\&quot;';
}
&lt;/script&gt;</pre>
<p>13行目：簡単にコピペできた方が楽なので、[width="xxx" height="yyy"]で吐き出すようにしておく。<br />
ダブルクォーテーションを表示させる方法がわからず検索したら<span class="note3">\&#8221;</span>ではなく<span class="note5">&amp;quot;</span>を使うと書いてあったんだけど、そうすると変数が展開されなかったのでごにょごにょしてたら結局<span class="note3">\&#8221;</span>でokだった。</p>
<p><strong>css(抜粋)</strong></p>
<pre class="brush: css; title: ; notranslate">
input[type=&quot;text&quot;] {
	font-size:110%;
	padding:0.1em 0.2em;
	border:1px solid #999;
}
input[type=&quot;text&quot;]:focus {
	border:1px solid #6CC;
	background:#F7FDFF;
}

form dl{
	padding:1em;
	border:5px solid #999;
	border-radius:3px;
	-moz-border-radius: 3px;
}
form dt{
	padding:0.4em 0.5em;
	display:inline;/*最初のうち上のpaddingをmarginで指定して背景色を表示させてた名残、今は必要ない指定。*/
	width:7.5em;
	font-weight:bold;
	float:left;/*続くddを横に置く、floatを使わないければmargin-topにネガティブマージンを指定でもok？*/
}
form dd{
	padding:0.4em 0.5em;
	margin:0 0 0 7.5em;
}
</pre>
<p>1～9行目：type属性がtextのinputに、今ここがフォーカスしてますよって印をつける。</p>
<p>11～27行目：form dl-ddまで<br />
昔流行ったdtとddを横並びにする指定。</p>
<p>widthとheightを続けて何回も書くとたまにwidhtになってしまよね。</p>
<h3>参考にしました</h3>
<p><a href="http://tenderfeel.xsrv.jp/javascript/68/">[JS]ページが開いたら自動でフォーカスを合わせる</a></p>
<p><a href="http://javascriptist.net/ref/element.select.html">element.select &#8211; input部品を選択状態にする</a></p>
<p><a href="http://yamadamemo.blog121.fc2.com/blog-entry-107.html">HTMLタグ内でのJavaScriptのダブルクォーテーション</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/11/width-height/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/11/width-height/" />
	</item>
		<item>
		<title>TEXTAREAをリサイズするjQueryのプラグイン</title>
		<link>http://blog.sakurachiro.com/2009/11/textarea-resizable-jquery/</link>
		<comments>http://blog.sakurachiro.com/2009/11/textarea-resizable-jquery/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 17:13:27 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2009/11/textarea%e3%82%92%e3%83%aa%e3%82%b5%e3%82%a4%e3%82%ba%e3%81%99%e3%82%8bjquery%e3%81%ae%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3/</guid>
		<description><![CDATA[こんなの jQuery TextAreaResizer plugin example ダウンロード先 TextArea Resizer 必要なjs読み込ませて リサイズの時つまむbarをcssで設定して textarea [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2009/11/20091110-1.jpg" rel="shadowbox[sbpost-1351];player=img;" title="つまんで伸ばす"><img src="http://blog.sakurachiro.com/wp-content/uploads/2009/11/20091110-1-400x162.jpg" alt="つまんで伸ばす" title="つまんで伸ばす" width="400" height="162" class="alignnone size-large wp-image-1374" /></a></p>
<p>こんなの<br />
<a href="http://www.itsavesyou.com/TextArea_Resizer_example.htm">jQuery TextAreaResizer plugin example</a></p>
<p>ダウンロード先<br />
<a href="http://plugins.jquery.com/project/TextAreaResizer">TextArea Resizer</a><br />
必要なjs読み込ませて<br />
リサイズの時つまむbarをcssで設定して<br />
textareaにclass=&#8221;resizable&#8221;を追加</p>
<pre class="brush: xml; title: ; notranslate">
&lt;textarea class=&quot;resizable&quot;&gt;some test text
some test text
some test text
some test text
some test text
some test text
&lt;/textarea&gt;
</pre>
<p>つまんだときの透明度が低すぎてtextareaが見えないよって時は<br />
jquery.textarearesizer.compressed.jsかjquery.textarearesizer.jsどっちか使ってる方の</p>
<pre class="brush: jscript; title: ; notranslate">textarea.css('opacity',0.25)</pre>
<p>を適当に変更</p>
<p>プラグインの<a href="http://wordpress.org/extend/plugins/head-cleaner/">Head Cleaner</a>で<span class="note2">head 内の JavaScript を、フッタ領域に移動</span>あたりにチェックを入れてると使えないかも。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/11/textarea-resizable-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/11/textarea-resizable-jquery/" />
	</item>
		<item>
		<title>Fireworksのテクスチャー画像等をPhotoshopのパターンに一括登録したい。</title>
		<link>http://blog.sakurachiro.com/2009/11/add-pattern/</link>
		<comments>http://blog.sakurachiro.com/2009/11/add-pattern/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 21:55:20 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[jsx]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1346</guid>
		<description><![CDATA[[追記 / 20100523] バッチ処理を使わないように改造したのを公開した。 大量のテクスチャー画像を、超簡単にパターン登録する.jsx ( バッチ処理不使用 photoshopで使っているパターン(テクスチャー)は [...]]]></description>
			<content:encoded><![CDATA[<p><em class="note2">[追記 / 20100523]</em><br />
バッチ処理を使わないように改造したのを公開した。<br />
<a href="http://blog.sakurachiro.com/2010/05/add-pattern-2/">大量のテクスチャー画像を、超簡単にパターン登録する.jsx ( バッチ処理不使用</a></p>
<p>photoshopで使っているパターン(テクスチャー)は、使いたい時に使いたい物を自作して即登録しているので今まで気にもしませんでしたが、<br />
例えば<a href="http://ja-jp.colourlovers.com/patterns/" title="adobe kulerようなサイトだったけどパターンもあったのね">COLOURlovers :: パターン</a>や<a href="http://ftg.projectdd.jp/" title="Fireworksで使えるテクスチャファイル300種類を無料で配布">Ftg &#8211; Fireworks texture gallery</a>のような素敵サイトから感謝の念をこめてダウンロードしたpng形式のテクスチャー画像を「これちょっとphotoshopでも使いたいのぅ」なんて思ったら<br />
1ファイル1ファイルphotoshopで開いて<span class="note2">[編集] &#8211; [パターンを定義]</span>しなきゃ駄目なんですね。<br />
プリセットマネージャーへドラッグアンドドロップすれば登録できるんだと思ってた。</p>
<p>1個2個ならいいけど300回繰り返すとなるとなると半端なく面倒臭い。<br />
面倒臭いとモチベーションダウンに繋がるしで良くない。<br />
ほいではどうしたら面倒臭くなくなるか？を考えるわけです。醍醐味です。</p>
<p><span id="more-1346"></span></p>
<h3>バッチ処理とアクションで自動化</h3>
<p>バッチ処理という機能を使えばフォルダ単位でアクションを自動化させられるそうだ、これは使わない手はない。</p>
<p>まずパターン登録のアクションを作成<br />
<img src="http://blog.sakurachiro.com/wp-content/uploads/2009/11/20091105-7.png" alt="アクション登録" title="アクション登録" width="400" height="200" class="alignnone size-full wp-image-1347" /></p>
<p>次にバッチ処理に登録<br />
<span class="note2">[ファイル] &#8211; [自動処理] &#8211; [バッチ]</span><br />
<a href="http://blog.sakurachiro.com/wp-content/uploads/2009/11/20091105-8.png" rel="shadowbox[sbpost-1346];player=img;" title="バッチ"><img src="http://blog.sakurachiro.com/wp-content/uploads/2009/11/20091105-8-400x283.png" alt="バッチ" title="バッチ" width="400" height="283" class="alignnone size-large wp-image-1348" /></a></p>
<p>プリセットマネージャーから確認すると全部登録されてた。<br />
<span class="note2">バッチ処理すごい！</span></p>
<p>しかし問題がひとつ。<br />
パターン名がすべて「check02.png」になってた。<br />
なんてこったい、アクションでパターンを登録する時に使った名前に上書きされていくという。<br />
パターン名を空白にするとアクションに登録できないし困った。<br />
気にしなければいんだけど、気になるのがおとめ座B型の性分か。</p>
<p>アクションでファイル名を参照させる方法もあるのかもしれないけど、全然わからなかったので別の方法を考えてみる事にする。</p>
<h3>スクリプトってやつを使ったらどうだろう？</h3>
<p>バッチ処理を検索すると、アクションとセットで登場するスクリプトというのがある。<br />
これでどうにかならんかね？と<a href="http://blog.sakurachiro.com/2009/11/jsx-memo/">調べてみた結果が前回のエントリー</a>なわけです。</p>
<p>ScriptingListenerJS.logが吐き出すソースを<del datetime="2009-11-05T21:41:16+00:00">パク</del>参考に以下の.jsxを作成</p>
<pre class="brush: jscript; title: ; notranslate">
// ==========
// 登録する
// ==========
var idMk = charIDToTypeID( &quot;Mk  &quot; );
    var desc1 = new ActionDescriptor();
    var idNull = charIDToTypeID( &quot;null&quot; );
        var ref1 = new ActionReference();
        var myPtrn = charIDToTypeID( &quot;Ptrn&quot; );
        ref1.putClass( myPtrn );
    desc1.putReference( idNull, ref1 );
    var idUsng = charIDToTypeID( &quot;Usng&quot; );
        var ref2 = new ActionReference();
        var idPrpr = charIDToTypeID( &quot;Prpr&quot; );
        var idFsel = charIDToTypeID( &quot;fsel&quot; );
        ref2.putProperty( idPrpr, idFsel );
        var idDcmn = charIDToTypeID( &quot;Dcmn&quot; );
        var idOrdn = charIDToTypeID( &quot;Ordn&quot; );
        var idTrgt = charIDToTypeID( &quot;Trgt&quot; );
        ref2.putEnumerated( idDcmn, idOrdn, idTrgt );
    desc1.putReference( idUsng, ref2 );
    var idNm = charIDToTypeID( &quot;Nm  &quot; );
    var docName = app.activeDocument.name;
    desc1.putString( idNm, docName );
executeAction( idMk, desc1, DialogModes.NO );

// ==========
// 閉じる
// ==========
var idCls = charIDToTypeID( &quot;Cls &quot; );
executeAction( idCls, undefined, DialogModes.NO );
</pre>
<p>どうもバッチから直接.jsxを呼べないようなので<br />
それをアクションに登録<br />
<img src="http://blog.sakurachiro.com/wp-content/uploads/2009/11/20091105-10.png" alt="閉じる処理はjsxの中に記述。" title="閉じる処理はjsxの中に記述。" width="400" height="200" class="alignnone size-full wp-image-1349" /></p>
<p>本当はjsxにバッチ側が受け持つ「指定フォルダにファイルがあったら開く」処理を書ければいいのだろうけど、まだわからないので仕方がない。</p>
<h3>実行結果</h3>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2009/11/20091105-9.png" rel="shadowbox[sbpost-1346];player=img;" title="パターン名がファイル名になった。"><img src="http://blog.sakurachiro.com/wp-content/uploads/2009/11/20091105-9-400x391.png" alt="パターン名がファイル名になった。" title="パターン名がファイル名になった。" width="400" height="391" class="alignnone size-large wp-image-1350" /></a></p>
<h3>ご自由にどうぞ</h3>
<p><a href="http://sakurachiro.com/_exercise/javascript/jsx/add-Pattern.jsx">add-Pattern.jsx｜画像をファイル名でパターンに追加する.jsx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/11/add-pattern/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/11/add-pattern/" />
	</item>
		<item>
		<title>.jsx(アクションより融通が利くであろうスクリプト)作成メモ / Photoshop CS3</title>
		<link>http://blog.sakurachiro.com/2009/11/jsx-memo/</link>
		<comments>http://blog.sakurachiro.com/2009/11/jsx-memo/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 20:06:05 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[jsx]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1345</guid>
		<description><![CDATA[まず何をどうするのか？それすらわからない。 ガイドに目を通す。 Program Files\Adobe\Adobe Photoshop CS3\以下あたりにあるフォルダ スクリプティングガイド\Photoshop CS3 [...]]]></description>
			<content:encoded><![CDATA[<h3>まず何をどうするのか？それすらわからない。</h3>
<p>ガイドに目を通す。<br />
Program Files\Adobe\Adobe Photoshop CS3\以下あたりにあるフォルダ</p>
<ul>
<li>スクリプティングガイド\Photoshop CS3 Scripting Guide-J.pdf / 日本語</li>
<li>スクリプティングガイド\Photoshop CS3 JavaScript Ref.pdf / 英語</li>
</ul>
<p>肝心な方が英語＞＜</p>
<h3>Fireworksの「手順をコマンドとして保存」のような機能を追加。</h3>
<p><span class="note2">スクリプティングガイド\ユーティリティ\ScriptListener.8li</span> を<br />
<span class="note2">プラグイン\自動処理</span>に複製</p>
<p>デスクトップに<em>ScriptingListenerJS.log</em>が作成される。。</p>
<p><em class="note3">[追記 / 20100428]</em><br />
ほっといたら.logファイルの容量がすごいことになってた。<br />
定期的に削除するか、.logが必要無いときはScriptListener.8liを削除したほうがいいかも。</p>
<p><a href="http://blog.sakurachiro.com/wp-content/uploads/2009/11/20100428-1.png" rel="shadowbox[sbpost-1345];player=img;" title="ScriptingListenerJS.logのプロパティ"><img src="http://blog.sakurachiro.com/wp-content/uploads/2009/11/20100428-1.png" alt="ScriptingListenerJS.logのプロパティ" title="ScriptingListenerJS.logのプロパティ" width="425" height="467" class="alignnone size-full wp-image-1632" /></a></p>
<h3>保存場所</h3>
<p>プリセット\スクリプト内に置けば[ファイル] &#8211; [スクリプト]に表示される(と思う)</p>
<h3>参考にさせていただきました。</h3>
<p><a href="http://www016.upp.so-net.ne.jp/sorakaze/script/intro_CS.html">そらかぜ工場 Photoshop Scripting 覚書き</a></p>
<p><a href="http://www.openspc2.org/book/PhotoshopCS3/">Adobe Photoshop CS3自動化作戦</a></p>
<blockquote cite=http://www.openspc2.org/book/PhotoshopCS3/"><p>スクリプト内に日本語を含む場合にはUTF-8 (Unicode)の文字コード (できればBOM (Byte Order Mark)付き)にする必要があります。</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/11/jsx-memo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/11/jsx-memo/" />
	</item>
		<item>
		<title>element.insertBeforeとelement.appendChild</title>
		<link>http://blog.sakurachiro.com/2009/10/element-insertbefore%e3%81%a8element-appendchild/</link>
		<comments>http://blog.sakurachiro.com/2009/10/element-insertbefore%e3%81%a8element-appendchild/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 02:04:45 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/?p=1296</guid>
		<description><![CDATA[こっちもまだメモ 要素を追加する element.appendChild(newNode) elementにnewNodeを追加する？ js html output element.insertBefore() js o [...]]]></description>
			<content:encoded><![CDATA[<p>こっちもまだメモ</p>
<p>要素を追加する</p>
<h3 class="note5">element.appendChild(newNode)</h3>
<p>elementにnewNodeを追加する？</p>
<p>js</p>
<pre class="brush: jscript; title: ; notranslate">
window.onload=function(){
elm=document.getElementById(&quot;elm&quot;);
kakiku=document.createTextNode(&quot;&gt;kakikukeko&quot;);
elm.appendChild(kakiku);
}
</pre>
<p>html</p>
<pre class="brush: xml; title: ; notranslate">
&lt;p id=&quot;elm&quot;&gt;aiueo&lt;/p&gt;
</pre>
<p>output</p>
<pre class="brush: plain; title: ; notranslate">aiueo&gt;kakikukeko
</pre>
<h3 class="note5">element.insertBefore()</h3>
<p>js</p>
<pre class="brush: jscript; title: ; notranslate">sasisu=document.createTextNode(&quot;sasisuseso&gt;&quot;);
elm.insertBefore(sasisu,elm.firstChild);</pre>
<p>output</p>
<pre class="brush: plain; title: ; notranslate">sasisuseso&gt;aiueo
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/10/element-insertbefore%e3%81%a8element-appendchild/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/10/element-insertbefore%e3%81%a8element-appendchild/" />
	</item>
		<item>
		<title>setAttributeとassignment to undeclared variable ～</title>
		<link>http://blog.sakurachiro.com/2009/10/setattribute-etc/</link>
		<comments>http://blog.sakurachiro.com/2009/10/setattribute-etc/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 22:27:30 +0000</pubDate>
		<dc:creator>まこと</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[とりあえずメモ]]></category>

		<guid isPermaLink="false">http://blog.sakurachiro.com/2009/10/javascript%e3%81%a1%e3%82%87%e3%81%a3%e3%81%a8%e3%83%a1%e3%83%a2/</guid>
		<description><![CDATA[まだメモ var imgNode=document.createElement("img"); imgNode.setAttribute("src", imgURL); imgNode.style.opacity=0.2 [...]]]></description>
			<content:encoded><![CDATA[<p>まだメモ</p>
<pre><code>var imgNode=document.createElement("img");
<span class="note2">imgNode.setAttribute("src", imgURL);</span>
<span class="note3">imgNode.style.opacity=0.2;</span>
var targetNode=document.getElementById("wrap");
targetNode.insertBefore(imgNode,targetNode.firstChild);
</code></pre>
<p>&lt;img <span class="note2">src=&#8221;xxx.gif&#8221;</span> <span class="note3">style=&#8221;opacity: 0.2;&#8221;</span> /&gt;</p>
<p>setAttributeはどうも曲者らしい<br />
setAttributeが曲者じゃなくてIEが曲者か。<br />
IEではclassとstyleとイベントを設定できないそうだ。<br />
便利っぽいのにな残念。</p>
<h3>Firefoxの警告</h3>
<dl>
<dt><strong class="note5">assignment to undeclared variable ～</strong></dt>
<dd>varが無いよ</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://blog.sakurachiro.com/2009/10/setattribute-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.sakurachiro.com/2009/10/setattribute-etc/" />
	</item>
	</channel>
</rss>

