(追記)del.icio.us bookrollも作りました
JavaScriptでblogウィジェットを作ってみた。
以前Flashで作って重すぎたので、JavaScriptでリベンジ。
小さい本棚です。はてなブックマークでNowReadingタグの付いてる本を表示しています。同時に何冊も読むので、ぐるぐる回るようにしてみた。
一応Firefox1.5とIE6で動くのを確認しました。
このblogのメインページの右側にも張り付いてます
(追記)del.icio.us bookrollも作りました
JavaScriptでblogウィジェットを作ってみた。
以前Flashで作って重すぎたので、JavaScriptでリベンジ。
小さい本棚です。はてなブックマークでNowReadingタグの付いてる本を表示しています。同時に何冊も読むので、ぐるぐる回るようにしてみた。
一応Firefox1.5とIE6で動くのを確認しました。
このblogのメインページの右側にも張り付いてます
前の記事:dojoのScriptSrcIOで動的クロスドメインJSON読み込みについて書き忘れを追加。
dojoで動的にJSON読み込む時、JSONとHTMLが同じ文字コードじゃないといけない(IEのみ、Firefoxは大丈夫)。今回はUTF-8で統一した。
で、HTML内でUTF-8って指定してても、サーバー側も文字コードを設定しておかないとFirefoxでは正しく表示されない。(IEは問題ない)
実験環境:debian sarge(coLinux)とリリース環境:VineLinux3.2で、apacheでUTF-8を表示するための設定
一応unicodeをインストール
apt-get install unicode
httpd.confを編集
AddCharset UTF-8 .utf8
AddDefaultCharset UTF-8
両方とも、適当なところに書き加える。
これでapacheをrestartしたらUTF-8表示できた。
/etc/rc.d/apache restart
もしくは
/etc/rc.d/init.d/httpd restart
作りました
→ dojoのScriptSrcIOを使って、del.icio.usのJSON-APIからブックマーク一覧を動的に読み込む
またAjaxネタ。
今日はスタバで大きめの頼んでゆっくり本読もうと思ったけど、急にやる気が出てきたのですぐ帰ってdojo toolkitのScriptSrcIOを試してみた。こういうテンションは大事にしないといけないと思う
昨日、JSONの受信方法2種類についてまとめたら、他にもやり方があるよというフィードバックをいただいたので、早速試してみた。
俺は
というわけで、JSONを静的/動的(ajax)に読み込んでみた。
静的に、つまり ただ、ページを読み込んだタイミングで全部読み込まないとならないので、重くなるはず。
と書いたんだけど、クロスドメインでJSONを動的に読み込む方法があるとのこと。
ようするにボタンを押したり、テキストを打ったりした瞬間に
JSONを受信するサンプルを作った。
・del.icio.usのJSON-APIからshokaiのブックマーク一覧を読み込み
・サーバに置いたdel.icio.usのJSONファイルからブックマーク一覧を読み込み
・サーバに置いたGPSデータから位置情報のリストを読み込み
やっと理解できた。
JSONは、JavaScriptObjectNotationの略で、JavaScriptのオブジェクトをテキストデータで表記するためのフォーマット。JSONテキストをJavaScriptでeval()する事で、クラスとして読み込んですぐ使える。
んで、そのJSONは、JavaSciptで別のサーバーにあるデータを取得するのにも使える。
■なぜJSONで通信するのか
AjaxことXMLHttpRequestはセキュリティの為に、クロスドメイン制限がかかっているから。(別のドメイン、つまり別のサーバーにアクセスできない)
だから、JavaScriptで別ドメインのデータを受信するには、XMLHttp+cgiでパイプ処理するか、JSONを使ってクロスドメイン制限を回避する。
Flashもクロスドメイン制限があるけど、crossdomain.xmlを置く事で解決できる。
■2種類のJSON受信方法
.jsファイルの静的読み込みの機能を使う事で、別ドメインのJSONを読み込む事ができる。
また、Ajaxを使うことで動的にJSONを受信する事もできるが、別ドメインのデータは読み込めない。
以下に両方のサンプルを解説します↓↓
リリースしました。
YouTubeのビデオを、時間も場所も越えて実況できるwebサービスです。動画実況サービス?
思いついてから1ヶ月以上かかりました。SQLとかサーバーサイドがわからなすぎた。
わからなすぎて、「最近実況されたビデオ」がちゃんと記録できなくて、最初YouTubeだけのはずだったのにHATENA-TUBEのRSSをマッシュアップしちゃった
コードがものすごいスパゲティなので、ちょっとずつ直していこうと思います。
まずperlの関数の作り方からちゃんと勉強しようかな
*****
まだデータが全然溜まっていないのでアレかもしれませんが、今夜あたり俺が実況してデータ打ち込みます。