« 書いたものが踊る | メイン | Macのzshで日本語入力 »

Flashのパーマリンク問題をSWFAddressで解決

del.icio.us it!   hatena bookmark

<追記> 
SWFAdreess2 はこちら
SWFAddress2をSWFObject2でつかってみる (Unknown Quality)
http://un-q.net/2007/12/swfaddress2_swfobject2.html
</追記>

Flashサイトでよく問題になるのがパーマリンク。
例えば、商品を複数紹介しているサイトとかで、各商品ページへをブックマークしよと思っても、パーマリンクが存在しないので、トップページをブックマークしてしまうことになる。他のページからのリンクでも、その商品へのリンクができない。

よくやる解決手法の1つがPHPなどでURLの最後に「?id=10」でアクセスされたら、FlashVars経由でFlashへidを渡し、任意のページへ移動させたりする。
この手法は他のサイトからのリンク辿ってくる場合にはOKだけど、Flash内でのページ遷移ではURLは変化しないので、ブックマークとかは無理。親切なサイトだと、このページへのリンクはhogehogeと書いてあったり、クリックするとURLがクリップボードにコピーされる仕組みを用意してるなんてのもあった。

Nikeのサイトとかは、結構前からこの辺の問題をスマートに解決してて、Javascriptを駆使してFlash内のページ遷移もページを更新することなくURLを変更してた。

で、この辺のことをまとめてやってくれるのが「SWFAddress」
Asual » SWFAddress
http://www.asual.com/swfaddress/

とりあえずサンプル作ってみた
SWFAddress Test
http://labs.un-q.net/flash/swfaddress/

as1、as2、as3、それぞれのスクリプトが用意されてて使い方も簡単。

as2だったらこんな感じ

import SWFAddress;

btn_mc.onRelease = function() {
SWFAddress.setValue('/page1/');
}

SWFAddress.onChange = function() {
サンプルはこの辺でページ遷移処理してた
}

ページのタイトルも

SWFAddress.setTitle("Hage Hage");

で切り替えられるので、ブックマークとかもばっちり。

どっちかっていうとアプリ作ることのほうが多いけど、Flashサイト作るときは必ずこういう作りにしよう。



トラックバック

このエントリーのトラックバックURL:
http://un-q.net/mt-tb.cgi/48

この一覧は、次のエントリーを参照しています: Flashのパーマリンク問題をSWFAddressで解決:

» ピアノ(Flash)とオーケストラ(Ajax)を比べるのが流行っている件について 送信元 Text Generator Diary
ピアノ ・簡単に音が出る。 ・それなりの曲だったらすぐ弾けるようになる。 ・頑張... [詳しくはこちら]

コメント (1)

これ使ってみようと思いつつも、FlashVars経由でFlashへidを渡しちゃいました。今度また感想きかせてください〜。

コメントを投稿

crossreview