<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>alt &#187; Javascript</title>
	<atom:link href="http://blog.alt-scape.com/archives/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.alt-scape.com</link>
	<description>alt-scape weblog</description>
	<lastBuildDate>Sat, 03 Dec 2011 18:00:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JavascriptでH.264のビデオをデコード(再生)する「Broadway.js」</title>
		<link>http://blog.alt-scape.com/archives/431</link>
		<comments>http://blog.alt-scape.com/archives/431#comments</comments>
		<pubDate>Fri, 04 Nov 2011 04:43:31 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[メモ]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[動画]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=431</guid>
		<description><![CDATA[
またスゴいのが出てきたけど、このJSビデオデコーダよりもEmscriptenの方に驚きました。
これ使えば比較的簡単にC言語資産のライブラリとか移植ができそう。
似たようなアプローチだとGoogleのNative Cl [...]]]></description>
			<content:encoded><![CDATA[<p>
またスゴいのが出てきたけど、このJSビデオデコーダよりも<strong>Emscripten</strong>の方に驚きました。<br />
これ使えば比較的簡単にC言語資産のライブラリとか移植ができそう。<br />
似たようなアプローチだとGoogleの<strong>Native Client</strong>やAdobeの<strong>Alchemy</strong>がありますが<br />
どちらもブラウザプラグインなので、プラグインなしならコレ。<br />
あとJS変換のライバルは<a href="https://github.com/dmlap/llvm-js-backend" target="_blank"><strong>llvm-js-backend</strong></a>というのもあります。<br />
<br />
とりあえずメモだけ。<br />
下の翻訳間違ってたらすみません。<br />
<br />
<span id="more-431"></span><br />
<strong>Broadway.js</strong><br />
<a href="https://github.com/mbebenita/Broadway" target="_blank">https://github.com/mbebenita/Broadway</a><br />
<br />
<br />
デモ：<br />
<a href="http://mbebenita.github.com/Broadway/broadway.html" target="_blank">http://mbebenita.github.com/Broadway/broadway.html</a><br />
<br />
<br />
説明：<br />
Mozillaの開発者である<a href="http://haxpath.squarespace.com/" target="_blank"><strong>Michael Bebenita</strong></a>が、<strong>H.264</strong>ビデオフォーマットのJavaScriptデコーダを公開。<br />
ブラウザ上でネイティブに動作することを意図するこのJavascriptデコーダは、<br />
既存のH.264デコーダ（C言語で書かれたAndroidで使用されているH.264デコーダ）を簡素化し、<br />
C/C++のコードをコンパイルしたLLVMビットコードを<a href="https://github.com/kripken/emscripten" target="_blank"><strong>Emscripten</strong></a>を使用して<strong>Javascript</strong>に変換している。<br />
このデコーダは、従来のハードウェア構成のままで<strong>30fps</strong>の実行速度を保ちながらビデオを表示できる。<br />
ソースコードはGitHubにアップされているので誰でも参照できる。<br />
改善余地はWebGLを使用してGPU経由で並列処理を行うなど。<br />
現在の動作環境は、Firefox、Chrome、Safari、Operaはいけてるっぽい。<br />
<br />
<br />
Emscripten：<br />
<em>Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode &#8211; which can be generated from C/C++, using llvm-gcc or clang, or any other language that can be converted into LLVM &#8211; and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run).</em><br />
<br />
<br />
プレゼン動画：<br />
<a href="http://yfrog.com/nmng0z" target="_blank">http://yfrog.com/nmng0z</a><br />
<br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/431/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ログ出力ライブラリ「Blackbird」をスマートフォンで使ってみる</title>
		<link>http://blog.alt-scape.com/archives/424</link>
		<comments>http://blog.alt-scape.com/archives/424#comments</comments>
		<pubDate>Thu, 20 Oct 2011 15:54:24 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[メモ]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[スマートフォン]]></category>
		<category><![CDATA[デバッグ]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=424</guid>
		<description><![CDATA[
スマートフォンのためのリモートデバッグ環境その1 – weinre
スマートフォンのためのリモートデバッグ環境その2 – JSconsle

とみてきましたが、
もっと単純にログ出力だけで十分という方にはコレがよさそう [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://blog.alt-scape.com/archives/423" target="_blank">スマートフォンのためのリモートデバッグ環境その1 – weinre</a><br />
<a href="http://blog.alt-scape.com/archives/418" target="_blank">スマートフォンのためのリモートデバッグ環境その2 – JSconsle</a><br />
<br />
とみてきましたが、<br />
もっと単純にログ出力だけで十分という方にはコレがよさそうです。<br />
<br />
<strong>Blackbird</strong><br />
<a href="http://www.gscottolson.com/blackbirdjs/" target="_blank">http://www.gscottolson.com/blackbirdjs/</a><br />
<br />
画面の端っこにログ出力用コンソールが表示されるので<br />
PC向けというよりはスマートフォンなどのログ情報が確認しにくい環境で役に立ちそうです。<br />
<strong>iPhone</strong>、<strong>Android</strong>は上記のweinreやJSconsle使うとしても、<br />
Windows Mobile6.5(IE6)やBlackBerryなどWebSocket使えない系のブラウザには試す価値アリ。<br />
<br />
<span id="more-424"></span><br />
ライブラリのjsとcssを読み込んで以下の通りに打てばコンソール内に出力されます。<br />
<pre class="code">log.debug( <span class="str">'this is a debug message'</span> );<br />
log.info( <span class="str">'this is an info message'</span> );<br />
log.warn( <span class="str">'this is a warning message'</span> );<br />
log.error( <span class="str">'this is an error message'</span> );</pre>
<br />
<div style="line-height:170%">
Public APIには<br />
<br />
<strong>log.toggle()</strong>　：　コンソールの表示・非表示切替<br />
<strong>log.move()</strong>　：　コンソールを画面の左上・右上・右下・左下の4箇所に切替<br />
<strong>log.resize()</strong>　：　コンソールのリサイズ（拡大・縮小）<br />
<strong>log.clear()</strong>　：　ログのクリア<br />
<strong>log.profile( label )</strong>　：　Javascriptの処理時間を出してくれるプロファイラ<br />
<br />
が用意されています。<br />
他にも<strong>キーボード</strong>によるショートカットキーや<strong>ブックマークレット</strong>でこれらのメソッドを実行できたりもしますが、<br />
スマートフォンでの問題はキーボードが使えないので<br />
ブックマークレットでコンソールの表示・非表示を切り替える必要が出てきます。<br />
ちょっとそれも面倒ですね。<br />
<br />
iPhoneに限ってしまいますが、<br />
jQueryプラグインの<a href="https://github.com/germanson/gshake" target="_blank"><strong>gShake</strong></a>使って、シェイクイベントをトリガーにするとか<br />
最上面に画面いっぱいdivをひいて、<a href="http://blog.webcreativepark.net/2010/09/08-204058.html" target="_blank"><strong>ダブルタップ</strong></a>されたら切り替えるとかですかね。<br />
<br />
とりあえず作ってみたらうまくいきました。<br />
<br />
</div>
<img src="http://blog.alt-scape.com/img/blackbird.jpg" />
<br />
<br />
<pre class="code"><span class="tag">&lt;div <span class="attr">id=</span><span class="value">&quot;test&quot;</span> <span class="attr">style=</span><span class="value">&quot;width:100%; height:100%; z-index:999;&quot;</span>&gt;</span>TEST<span class="tag">&lt;/div&gt;</span><br />
<span class="tag">&lt;script <span class="attr">src=</span><span class="value">&quot;jquery-1.6.1.min.js&quot;</span> <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span><br />
<span class="tag">&lt;script <span class="attr">src=</span><span class="value">&quot;gShake.js&quot;</span> <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span><br />
<span class="tag">&lt;script <span class="attr">src=</span><span class="value">&quot;jquery.event.dblTap.js&quot;</span> <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span><br />
<span class="tag">&lt;script <span class="attr">src=</span><span class="value">&quot;blackbird.js&quot;</span> <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span><br />
<span class="tag">&lt;link <span class="attr">href=</span><span class="value">&quot;blackbird.css&quot;</span> <span class="attr">type=</span><span class="value">&quot;text/css&quot;</span> <span class="attr">rel=</span><span class="value">&quot;Stylesheet&quot;</span> /&gt;</span><br />
<span class="tag">&lt;script&gt;</span><br />
$(document).ready(function() {<br />
    <br />
        log.debug( 'this is a debug message' );<br />
        log.info( 'this is an info message' );<br />
        log.warn( 'this is a warning message' );<br />
        log.error( 'this is an error message' );<br />
    <br />
        $(&quot;#test&quot;).bind(&quot;dblTap&quot;,function(){<br />
            log.toggle();<br />
    });<br />
    <br />
        $(this).gShake(function(){<br />
            log.toggle();<br />
    });<br />
<br />
});<br />
<span class="tag">&lt;/script&gt;</span></pre>
<br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/424/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>スマートフォンサイト構築のためのリモートデバッグ環境その2 &#8211; JSconsole</title>
		<link>http://blog.alt-scape.com/archives/418</link>
		<comments>http://blog.alt-scape.com/archives/418#comments</comments>
		<pubDate>Tue, 27 Sep 2011 16:55:49 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[メモ]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[スマートフォン]]></category>
		<category><![CDATA[デバッグ]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=418</guid>
		<description><![CDATA[



前回紹介したweinreに続いて、
JSConsoleというデバッグツールもよさげなのでテスト。
簡易的に使うなら便利だけど、正直Firebug並みのことはできないです。
あとセキュリティ面でもjsconsole [...]]]></description>
			<content:encoded><![CDATA[<p>
<iframe width="560" height="345" src="http://www.youtube.com/embed/Y219Ziuipvc?rel=0" frameborder="0" allowfullscreen></iframe><br />
<br />
<br />
前回紹介した<a href="http://blog.alt-scape.com/archives/423" target="_blank"><strong>weinre</strong></a>に続いて、<br />
<strong>JSConsole</strong>というデバッグツールもよさげなのでテスト。<br />
簡易的に使うなら便利だけど、正直Firebug並みのことはできないです。<br />
あとセキュリティ面でもjsconsole.com側にDOMやクッキー情報が筒抜けなのでご注意をば。<br />
<br />
サポート環境は<br />
iOS 4.2.x &#8211; iPad, iPhone 4<br />
Andriod 2.2.2 &#8211; Nexus One<br />
webOS &#8211; Palm Pre<br />
<br />
JSConsoleのソースはGitHubにあります。<br />
<a href="https://github.com/remy/jsconsole" target="_blank">https://github.com/remy/jsconsole</a><br />
<br />
<span id="more-418"></span><br />
１．JSConsoleはサイト自体がデバッグコンソール画面となっているWEBアプリなので以下にアクセス。<br />
<a href="http://jsconsole.com/" target="_blank">http://jsconsole.com/</a><br />
<br />
２．最上部の入力フィールドに「<strong>:listen</strong>」と打つとコネクション用のIDが発行されたJavascriptソースが表示される。<br />
<img src="http://blog.alt-scape.com/img/jsconsole.jpg" />
<br />
<br />
３．JSをコピペしてデバッグ対象のHTML内に挿入する。<br />
<br />
４．HTMLファイルをサーバーへアップロードし、iPhoneやAndroidなどのスマートフォンでアクセスしてみる。<br />
<br />
５．デバッグコンソールに<br />
<strong>Connection established with http://xxx.com/xxx.html</strong><br />
と画面に出れば接続完了。<br />
<img src="http://blog.alt-scape.com/img/jsconsole2.jpg" />
<br />
<br />
６．デバッグコンソールの入力フィールドにalert(&#8221;hello&#8221;);と打ってiPhoneにダイアログが出ればOK。<br />
その他、「window.screen.width」と打ってリモートのwindowオブジェクトにアクセスしたり、<br />
jQueryを使ったサイトなら$()でDOMを操作できるのが分かる。<br />
もちろん、自作のJavascript関数も操作できる。<br />
<br />
７．ちなみに「<strong>:help</strong>」と打つと、<strong>JSconsle API</strong>を参照できる。<br />
<br />
<strong>:load</strong> <url> &#8211; 指定サイトのDOMが取得できる。 ← 使えなかったので未対応なのかな<br />
<strong>:load</strong> jquery, underscore, prototype, mootools, dojo, rightjs, coffeescript, yuiなどのライブラリを読み込ませることができる。<br />
例） :load jquery ← これでjQuery読み込めるっぽいけど、読み込み完了したのにこれも使えなかったよ<br />
<strong>:listen</strong> [id] &#8211; リモートデバッグを開始する<br />
<strong>:clear</strong> &#8211; コンソールのログを消去する<br />
<strong>:history</strong> &#8211; 入力フィールドの履歴を参照する<br />
<strong>:about</strong> &#8211; 不明<br />
<br />
<br />
「JSconsle」iPhoneアプリ版<br />
<a href="http://civic.xrea.jp/2011/03/03/jsconsole/" target="_blank">http://civic.xrea.jp/2011/03/03/jsconsole/</a><br />
<a href="http://d.hatena.ne.jp/nakamura001/20100928/1285637617" target="_blank">http://d.hatena.ne.jp/nakamura001/20100928/1285637617</a><br />
<br />
「JSconsle」Androidアプリ版もあった<br />
<a href="https://market.android.com/details?id=com.jgmcelwain.jsonsole&#038;hl=ja" target="_blank">https://market.android.com/details?id=com.jgmcelwain.jsonsole&#038;hl=ja</a><br />
<br />
<br />
上のアプリを手に入れるなら、ついでにこれらのスマホと連携して使える<strong>Bluetoothキーボード</strong>も欲しい。<br />
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B004I8V6Q2/alt-scape-22/ref=nosim/" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41SvlvPTkgL._SL500_AA300_.jpg" /></a><br />
<br />
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00405DR8I/alt-scape-22/ref=nosim/" target="_blank"><img src="http://ecx.images-amazon.com/images/I/313Me9aAkAL._SL500_AA300_.jpg" /></a><br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/418/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>スマートフォンサイト構築のためのリモートデバッグ環境その1 – weinre</title>
		<link>http://blog.alt-scape.com/archives/423</link>
		<comments>http://blog.alt-scape.com/archives/423#comments</comments>
		<pubDate>Mon, 26 Sep 2011 11:05:16 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[メモ]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[スマートフォン]]></category>
		<category><![CDATA[デバッグ]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=423</guid>
		<description><![CDATA[



スマートフォンブラウザのWebInspectorをリモートで実現するweinreが凄い
スマートフォン用ベージをデバッグする5つの方法


これらの記事みて自分の開発環境にもweinreを取り入れようと思い試して [...]]]></description>
			<content:encoded><![CDATA[<p>
<iframe width="560" height="345" src="http://www.youtube.com/embed/gaAI29UkVCc?rel=0" frameborder="0" allowfullscreen></iframe><br />
<br />
<br />
<a href="http://alpha.mixi.co.jp/blog/?p=3248" target="_blank">スマートフォンブラウザのWebInspectorをリモートで実現するweinreが凄い</a><br />
<a href="http://www.kanasansoft.com/weblab/2011/07/html5toka19.html" target="_blank">スマートフォン用ベージをデバッグする5つの方法</a><br />
<br />
<br />
これらの記事みて自分の開発環境にも<strong>weinre</strong>を取り入れようと思い試してみました。<br />
<br />
加速度センサーやGeo Location APIなんかのデバッグにも<br />
PCのブラウザコンソールからCSSやJS弄ったりするのにもちょー便利。<br />
iPhone、Android問わず、クロスデバイスで利用できるし。<br />
<br />
<span id="more-423"></span><br />
－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<br />
【localhost上でデバッグする】<br />
<br />
１．下記サイトから「weinre-jar-1.5.0.zip」をダウンロード。<br />
<a href="https://github.com/phonegap/weinre/archives/master" target="_blank">https://github.com/phonegap/weinre/archives/master</a><br />
<br />
２．展開したフォルダを適当な場所に置く。<br />
<br />
３．コマンドプロンプトでフォルダまで移動して「<strong>java -jar weinre.jar &#8211;httpPort 8080</strong>」を実行。<br />
<img src="http://blog.alt-scape.com/img/weinre1.gif" />
<br />
<br />
４．ブラウザで「<strong>http://localhost:8080/</strong>」にアクセス。<br />
<br />
５．赤枠のブックマークレットをブラウザに登録。<br />
※JSをデバッグ対象のサイトに埋め込んでもOK。<br />
<img src="http://blog.alt-scape.com/img/weinre2.gif" />
<br />
<br />
６．デバッグページを開く。<br />
例）http://localhost:8080/client/#anonymous<br />
<br />
７．シュミレータか新規ウィンドウを立ち上げて、デバッグしたい対象のページを開く。<br />
（実機で確認したい場合は同一ネットワークの設定が必要）<br />
例）http://www.google.co.jp/<br />
<br />
８．さきほどのブックマークレットを実行するとデバッグ画面のTargetsが<strong>none</strong>から緑色のテキストに変わる。<br />
ソケットにつながったのでゴリゴリデバッグ開始。<br />
<img src="http://blog.alt-scape.com/img/weinre3.gif" />
<br />
※対象のページにprototype.jsのバージョン1.7以前があるとエラーを起こす。<br />
<br />
<br />
<br />
－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<br />
【weinreのWEBサービス上でデバッグする】<br />
<br />
実はわざわざローカルでjarを展開しなくても、weinreのWEBサービス（API）を利用すれば、<br />
実機で直接サイトにアクセスしてリモートデバッグが可能。<br />
<br />
１．<a href="http://debug.phonegap.com/" target="_blank">http://debug.phonegap.com/</a>にアクセス。<br />
<br />
２．Step 1の入力フィールドに任意の文字列を入れる。<br />
<br />
３．Step 2のJSをコピペしてデバッグ対象のサイトに埋め込む。<br />
<br />
４．Step 3のデバッグページを開く。<br />
<br />
５．スマートフォンで対象のサイトにアクセスする。<br />
<br />
６．デバッグページのDEVICESのnoneが変わればゴリゴリデバッグ開始。<br />
<br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/423/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TweetボタンのパラメータをJavascriptで動的に変えるサンプル</title>
		<link>http://blog.alt-scape.com/archives/420</link>
		<comments>http://blog.alt-scape.com/archives/420#comments</comments>
		<pubDate>Tue, 06 Sep 2011 04:40:21 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[サンプル]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=420</guid>
		<description><![CDATA[
ブログなどWEBサイトに設置するTweetボタンですが、
Twitter APIを参考にするとTweet内容をパラメータで設定できるようになっています。

■aタグのhref属性にGETパラメータで設定
&#60;scr [...]]]></description>
			<content:encoded><![CDATA[<p>
ブログなどWEBサイトに設置する<strong>Tweetボタン</strong>ですが、<br />
<a href="https://dev.twitter.com/docs/tweet-button" target="_blank">Twitter API</a>を参考にするとTweet内容をパラメータで設定できるようになっています。<br />
<br />
■aタグのhref属性にGETパラメータで設定<br />
<pre class="code"><span class="tag">&lt;script <span class="attr">src=</span><span class="value">&quot;http://platform.twitter.com/widgets.js&quot;</span> <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span><br />
<span class="tag">&lt;div&gt;</span><br />
  <span class="tag">&lt;a <span class="attr">href=</span><span class="value">&quot;http://twitter.com/share?url=http%3A%2F%2Fdev.twitter.com&amp;amp;via=your_screen_name&quot;</span> <span class="attr">class=</span><span class="value">&quot;twitter-share-button&quot;</span>&gt;</span>Tweet<span class="tag">&lt;/a&gt;</span><br />
<span class="tag">&lt;/div&gt;</span></pre>
<br />
<div style="line-height:150%">
■data Attributesにパラメータを設定（HTML5の独自データ属性）<br />
<pre class="code"><span class="tag">&lt;script <span class="attr">src=</span><span class="value">&quot;http://platform.twitter.com/widgets.js&quot;</span> <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span><br />
<span class="tag">&lt;div&gt;</span><br />
   <span class="tag">&lt;a <span class="attr">href=</span><span class="value">&quot;http://twitter.com/share&quot;</span> <span class="attr">class=</span><span class="value">&quot;twitter-share-button&quot;</span><br />
      <span class="attr">data-url=</span><span class="value">&quot;http://dev.twitter.com/pages/tweet_button&quot;</span><br />
      <span class="attr">data-via=</span><span class="value">&quot;your_screen_name&quot;</span><br />
      <span class="attr">data-text=</span><span class="value">&quot;Checking out this page about Tweet Buttons&quot;</span><br />
      <span class="attr">data-related=</span><span class="value">&quot;anywhere:The Javascript API&quot;</span><br />
      <span class="attr">data-count=</span><span class="value">&quot;vertical&quot;</span>&gt;</span>Tweet<span class="tag">&lt;/a&gt;</span><br />
<span class="tag">&lt;/div&gt;</span></pre>
<br />
<span id="more-420"></span><br />
やり方としては上記の<strong>aタグ</strong>か<strong>HTML5</strong>の<strong>独自データ属性</strong>かの2パターンになります。<br />
これを決めうちなり、サーバーサイドで予め仕込む分には問題ないですが、<br />
内容をフォームから取得したりとユーザーのインタラクションによって<br />
パラメータの中身が変わるときは<strong>Javascript</strong>で制御する必要が出てきます。<br />
<br />
Twitter APIはまず<strong>widgets.js</strong>という専用JSファイルを読み込んで<br />
こいつがaタグ要素をiframeに書き換える仕組みになっているようです。<br />
なので、事前にaタグ要素にパラメータを仕込むJavascriptサンプルを作ってみました。<br />
BUTTONを押すごとに入力フォームの値をTWEETします。<br />
<br />
<br />
<a href="http://blog.alt-scape.com/js/tweet_button/a_href.html" target="_blank"><strong>aタグのhref属性に設定するサンプル</strong></a><br />
<br />
<a href="http://blog.alt-scape.com/js/tweet_button/html5_dataset.html" target="_blank"><strong>data Attributesに設定するサンプル</strong></a><br />
※こちらは<strong>jQuery</strong>の<strong>.data()</strong>メソッドがうまく読み書きできなかったので、<a href="http://www.orangesoda.net/jquery.dataset.html" target="_blank">Dataset</a>プラグインを使用しています。<br />
<br />
</div>
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/420/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>あなたのサイトを破壊するglitch.js</title>
		<link>http://blog.alt-scape.com/archives/410</link>
		<comments>http://blog.alt-scape.com/archives/410#comments</comments>
		<pubDate>Tue, 28 Jun 2011 16:17:18 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[参考]]></category>
		<category><![CDATA[Glitch]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=410</guid>
		<description><![CDATA[



@d_effekt氏によって作られたglitch.js。
名前の通り、指定した箇所にグリッヂ効果をかけてくれるJSライブラリです。
中身見るかぎり、HTML5のcanvasを使っているわけでもなく、
イベント・ト [...]]]></description>
			<content:encoded><![CDATA[<p>
<img src="http://blog.alt-scape.com/img/glitch_js.jpg" class="imgnostyle" />
<br />
<br />
<a href="http://twitter.com/#!/d_effekt" target="_blank">@d_effekt</a>氏によって作られた<strong>glitch.js</strong>。<br />
名前の通り、指定した箇所に<strong>グリッヂ</strong>効果をかけてくれるJSライブラリです。<br />
中身見るかぎり、HTML5のcanvasを使っているわけでもなく、<br />
イベント・トリガー時に全体をiframeに格納して指定箇所の切り抜きを部分部分抽出して<br />
オーバーレイヤーで表示しているだけっぽい？です。<br />
なので、ソースいじればもっと細かくとか激しい壊し方もできますね。<br />
ブラウザはChrome、Firefox4、IE8で動きました。<br />
<br />
<a href="http://www.undef.ch/" target="_blank">http://www.undef.ch/</a><br />
<a href="http://www.undef.ch/uploads/glitch.zip" target="_blank">http://www.undef.ch/uploads/glitch.zip</a><br />
<br />
上記サイトからライブラリをダウンロードして<a href="http://blog.alt-scape.com/js/glitch/glitch_js.html" target="_blank">マイflickr画像を壊してみる</a>テスト。<a href="http://blog.alt-scape.com/js/glitch/glitch_js_gif.html" target="_blank">アニメgif</a>もいいかんじ。<br />
<br />
やり方は下のソースのように<br />
グリッヂしたい場所（タグ）にid=&#8221;glitchContent&#8221;というラッパーidをつける。<br />
開始のタイミングはonclickとかonloadをトリガーにして<br />
startGlitch()関数を実行してあげればOK。<br />
サイトをまるごとグリッヂするならbodyに書いちゃえばいいです。<br />
<br />
<span id="more-410"></span><br />
<pre class="code"><span class="tag">&lt;link <span class="attr">rel=</span><span class="value">&quot;stylesheet&quot;</span> <span class="attr">type=</span><span class="value">&quot;text/css&quot;</span> <span class="attr">href=</span><span class="value">&quot;http://blog.alt-scape.com/js/glitch/glitch.css&quot;</span> /&gt;</span><br />
<span class="tag">&lt;script <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span> <span class="attr">src=</span><span class="value">&quot;http://blog.alt-scape.com/js/glitch/jquery.js&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span> <br />
<span class="tag">&lt;script <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span> <span class="attr">src=</span><span class="value">&quot;http://blog.alt-scape.com/js/glitch/jquery.timer.js&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span>       <br />
<span class="tag">&lt;script <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span> <span class="attr">src=</span><span class="value">&quot;http://blog.alt-scape.com/js/glitch/glitch.js&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span><br />
<span class="tag">&lt;div <span class="attr">id=</span><span class="value">&quot;glitchContent&quot;</span> <span class="attr">onclick=</span><span class="value">&quot;startGlitch()&quot;</span>&gt;</span><br />
<span class="tag">&lt;p&gt;</span>...click anywhere to start the glitch...<span class="tag">&lt;/p&gt;</span><br />
<span class="tag">&lt;img <span class="attr">src=</span><span class="value">&quot;http://farm4.static.flickr.com/3490/4062880848_0913f52064_z.jpg?zz=1&quot;</span> /&gt;</span><br />
<span class="tag">&lt;/div&gt;</span></pre>
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/410/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone（iOS4.2）の加速度センサーとジャイロセンサーの値をJavascriptで取得する</title>
		<link>http://blog.alt-scape.com/archives/397</link>
		<comments>http://blog.alt-scape.com/archives/397#comments</comments>
		<pubDate>Thu, 10 Feb 2011 06:20:19 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[メモ]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[スマートフォン]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=397</guid>
		<description><![CDATA[
去年の暮れにリリースされた「iOS4.2」から
WEBブラウザ（Safari）で加速度センサー、ジャイロセンサーのAPIにアクセスできるようになりました。
せっかくiPhone持っているんだし、試しにそれぞれの値をブラ [...]]]></description>
			<content:encoded><![CDATA[<p>
去年の暮れにリリースされた「<strong>iOS4.2</strong>」から<br />
WEBブラウザ（<strong>Safari</strong>）で<strong>加速度センサー</strong>、<strong>ジャイロセンサー</strong>のAPIにアクセスできるようになりました。<br />
せっかく<strong>iPhone</strong>持っているんだし、試しにそれぞれの値をブラウザに出力してみます。<br />
<br />
センサー値の取得は<strong>Javascript</strong>のイベントにて行います。<br />
まずiPhoneの傾きが変化すると<strong>devicemotion</strong>というイベントが発生するので<br />
window.addEventListenerで感知し、<br />
関数に渡されるイベントオブジェクトのプロパティよりそれぞれの値を取得します。<br />
別で<strong>deviceorientation</strong>というイベントがありますが、<br />
こちらでも回転の加速度のみ取得が可能です。<br />
<br />
<span id="more-397"></span><br />
・傾きの加速度は、<strong>acceleration</strong>オブジェクト。<br />
　（xが左～右、yが手前～奥、zが上～下）<br />
・傾きの重力加速度は、<strong>accelerationIncludingGravity</strong>オブジェクト。<br />
　（角度ではなく、重力加速度（9.80665）を基準にした値）<br />
・回転の加速度は<strong>rotationRate</strong>オブジェクト。<br />
　（<strong>alpha</strong>がz軸, <strong>beta</strong>がx軸, <strong>gamma</strong>プロパティがy軸）<br />
<br />
※<strong>iPhone4</strong>は3軸加速度センサー＋3軸ジャイロセンサーとの組み合わせで、<br />
前後左右上下の6軸の加速度、角速度、回転速度などの動きを詳細に検出可能ですが<br />
<strong>iPhone3GS</strong>は3軸重力加速度センサーのみとなりますので取得できるのは<br />
accelerationIncludingGravity.x<br />
accelerationIncludingGravity.y<br />
accelerationIncludingGravity.z<br />
のみとなります。<br />
<br />
<script type="text/javascript" src="http://jsdo.it/blogparts/YkYd/js"></script><p class="ttlBpJsdoit" style="width: 465px; margin: 0; text-align: right; font-size: 11px;">
<br />
<p style="line-heigth: 130%;">
詳しい解説はW3CやSafari公式をご覧ください。<br />
<br />
DeviceOrientation Event Specification<br />
<a href="http://dev.w3.org/geo/api/spec-source-orientation.html" target="_blank">http://dev.w3.org/geo/api/spec-source-orientation.html</a><br />
<br />
Safari Developer Library<br />
<a href="https://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/DeviceMotionEventClassRef/DeviceMotionEvent/DeviceMotionEvent.html" target="_blank">DeviceMotionEvent Class Reference</a><br />
<a href="https://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html" target="_blank">DeviceOrientationEvent Class Reference</a><br />
</p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/397/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitter Streaming APIを使ったFlashサンプル</title>
		<link>http://blog.alt-scape.com/archives/367</link>
		<comments>http://blog.alt-scape.com/archives/367#comments</comments>
		<pubDate>Fri, 28 May 2010 10:35:10 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[サンプル]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=367</guid>
		<description><![CDATA[



Twitter APIのなかに
HTTP接続を開いたままにして、サーバ側から次々と更新情報をクライアントに送り出す
「Twitter Streaming API」というのがあります。

通常のRESTを使ったプル [...]]]></description>
			<content:encoded><![CDATA[<p>
<img src="http://blog.alt-scape.com/img/twitter_stream_api.jpg" alt="Twitter Stream API" class="imgnostyle" />
<br />
<br />
Twitter APIのなかに<br />
HTTP接続を開いたままにして、サーバ側から次々と更新情報をクライアントに送り出す<br />
「<strong><a href="http://apiwiki.twitter.com/Streaming-API-Documentation" target="_blank" title="Twitter API Wiki / Streaming API Documentation">Twitter Streaming API</a></strong>」というのがあります。<br />
<br />
通常のRESTを使ったプル型とは違って、<br />
サーバーからプッシュでリアルタイムにJSONが送られてくるので<br />
それをパースしてフロントを作っていきます。<br />
単位時間当たりのAPI利用回数制限の上限も気にしなくてよいです。<br />
<br />
<span id="more-367"></span><br />
プッシュなので<br />
APIと接続するところは<strong>Flash</strong>のSocketクラスを使って実装といきたいところですが<br />
サーバー側は考えずに手っ取り早い方法として<br />
以下の<strong>Javascript</strong>ライブラリを使ってみます。<br />
（JSとの連携はAS3.0のExternalInterface.addCallback()で）<br />
<br />
JavaScriptからTwitter Streaming APIを利用するためのライブラリ<br />
<a href="http://wiki.livedoor.jp/staff_reader/d/Streaming%20API/JavaScript" target="_blank" title="">http://wiki.livedoor.jp/staff_reader/d/Streaming%20API/JavaScript</a><br />
<br />
サンプルのjson_viewer.html内に<br />
LDReader.JSON.stringify(json)というストリームで流れてくるJSONデータがありますので<br />
ここでFlashの関数を呼び出してJSONを引数で渡します。<br />
あとは呼ばれる度にFlashでお好きなようにビジュアライズしてあげるだけ。<br />
<br />
で、今回作ったもの。<br />
「<strong>iPad</strong>」に関するタイムラインが流れてきます。<br />
<a href="http://blog.alt-scape.com/swf/twitter_stream_api/" target="_blank" title="Twitter Stream API Flashサンプル">http://blog.alt-scape.com/swf/twitter_stream_api/</a><br />
（いくら待ってもTLが流れてこない場合はブラウザの更新ボタンを押してみてください）<br />
<br />
サンプルの流れ<br />
１．Stream APIのJavasriptライブラリ使って情報が更新される度に毎回JS→Flashの関数をたたく。<br />
２．引数で渡ってきたJSONデータをcorelibを利用してパース。<br />
３．テキストを作成して下に向かって流す。<br />
４．ある程度表示したらremoveChildでメモリーリーク対策。<br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/367/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>スクロールバーの座標を取得するscrollTop</title>
		<link>http://blog.alt-scape.com/archives/266</link>
		<comments>http://blog.alt-scape.com/archives/266#comments</comments>
		<pubDate>Fri, 26 Dec 2008 05:14:11 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[サンプル]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=266</guid>
		<description><![CDATA[
Javascriptでスクロールバーの上端の座標を取得するとき、
こちら の記事を参考にすると、

document.body.scrollTop
document.documentElement.scrollTop
 [...]]]></description>
			<content:encoded><![CDATA[<p>
Javascriptでスクロールバーの上端の座標を取得するとき、<br />
<a href="http://www.shuraba.com/?p=computing/js/scroll" target="_blank" title="JavaScript: 任意のオブジェクトまでスクロールする">こちら</a> の記事を参考にすると、<br />
<br />
<strong>document.body.scrollTop</strong><br />
<strong>document.documentElement.scrollTop</strong><br />
<strong>window.scrollTop</strong><br />
<br />
の３つのどれかで値がとれます。<br />
onLoadのタイミングで取得すると、<br />
大概のブラウザではスクロールバーが初期値に戻ってしまうため <strong>0</strong> が返ってきます。<br />
ボタンアクションなどの任意のタイミングなら<br />
IE、Firefox、Operaは<strong>document.documentElement.scrollTop</strong><br />
Safari(windows)、Google Chromeは<strong>document.body.scrollTop</strong><br />
で値がとれます。<br />
ブラウザ分岐処理をせず、これをまとめてしまうには以下でOK！<br />
Flashから呼んでも無事にとれた！<br />
<br />
<pre class="code"><span class="keyword">function</span> getScrollPosition() {<br />
　　<span class="keyword">return</span> (document.documentElement.scrollTop || document.body.scrollTop);   <br />
}</pre>
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/266/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ThickboxをFlashから開く</title>
		<link>http://blog.alt-scape.com/archives/120</link>
		<comments>http://blog.alt-scape.com/archives/120#comments</comments>
		<pubDate>Mon, 29 Sep 2008 10:37:32 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[サンプル]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Thickbox]]></category>
		<category><![CDATA[ソースコード]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=120</guid>
		<description><![CDATA[





FlashからLightbox風にフローティングウィンドウを出してみたかったのでThickbox.jsを使ってみました。
まず ここ から必要なファイルをダウンロードしてきます。

通常は

＜HEAD＞内に [...]]]></description>
			<content:encoded><![CDATA[<p>
<script type="text/javascript" src="http://blog.alt-scape.com/js/jquery.js"></script><script type="text/javascript" src="http://blog.alt-scape.com/js/thickbox.js"></script><link type="text/css" rel="stylesheet" href="http://blog.alt-scape.com/css/thickbox.css" media="screen" /><script type="text/javascript" src="http://blog.alt-scape.com/js/swfobject.js"></script><div id="so_thickbox1"></div>
<script type="text/javascript">
<!--
	var so_thickbox1 = new SWFObject("http://blog.alt-scape.com/swf/thickbox1.swf", "index", "180", "140", "8", "#FFFFFF");
	so_thickbox1.addParam("wmode", "transparent");
	so_thickbox1.write("so_thickbox1");
//-->
</script>
<br />
Flashから<strong>Lightbox</strong>風に<strong>フローティングウィンドウ</strong>を出してみたかったので<strong>Thickbox.js</strong>を使ってみました。<br />
まず <a href="http://jquery.com/demo/thickbox/" target="_blank" title="Thickbox"><strong>ここ</strong></a> から必要なファイルをダウンロードしてきます。<br />
<br />
通常は<br />
<br />
＜HEAD＞内に<br />
<pre class="code"><span class="tag">&lt;script <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span> <span class="attr">src=</span><span class="value">&quot;js/jquery.js&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span><br />
<span class="tag">&lt;script <span class="attr">type=</span><span class="value">&quot;text/javascript&quot;</span> <span class="attr">src=</span><span class="value">&quot;js/thickbox.js&quot;</span>&gt;</span><span class="tag">&lt;/script&gt;</span><br />
<span class="tag">&lt;link <span class="attr">type=</span><span class="value">&quot;text/css&quot;</span> <span class="attr">rel=</span><span class="value">&quot;stylesheet&quot;</span> <span class="attr">href=</span><span class="value">&quot;css/thickbox.css&quot;</span> <span class="attr">media=</span><span class="value">&quot;screen&quot;</span> /&gt;</span></pre>
<br />
をインクルードすれば<br />
<br />
＜BODY＞内に<br />
<pre class="code"><span class="tag">&lt;a <span class="attr">href=</span><span class="value">&quot;http://blog.alt-scape.com/img/record.jpg&quot;</span> <span class="attr">class=</span><span class="value">&quot;thickbox&quot;</span>&gt;</span><strong>テキスト or 画像</strong><span class="tag">&lt;/a&gt;</span></pre>
<br />
を記述するだけで簡単にThickboxできる。<br />
<br />
<br />
<a href="http://blog.alt-scape.com/img/record.jpg" class="thickbox"><strong>テキスト or 画像</strong></a><br />
<br />
<span id="more-120"></span><br />
これをFlashからやりたい。<br />
<strong>ExternalInterface.call</strong>でThickboxの<strong>TB_show</strong>関数をたたいてみます。<br />
<br />
Fｌash側には<strong>actionscript</strong>で以下を記述するだけ。<br />
<pre class="code"><span class="keyword">import</span> flash.external.ExternalInterface;<br />
ExternalInterface.call(<span class="str">&quot;TB_show&quot;</span>, <span class="str">&quot;テスト&quot;</span>, <span class="str">&quot;img/image.jpg&quot;</span>, <span class="str">&quot;sample&quot;</span>);</pre>
<br />
<br />
参考：<a href="http://www.project-nya.jp/modules/weblog/details.php?blog_id=727" target="_blank" title="にゃあプロジェクト - ウェブログ - ThickBoxを試すのだ！ (3)">http://www.project-nya.jp/modules/weblog/details.php?blog_id=727</a><br />
参考：<a href="http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=6734&#038;forum=6" target="_blank" title="GreyBoxまたはThickBoxとFlashとの連携について">http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=6734&#038;forum=6</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/120/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

