サイト内検索

メインメニュー

ログイン
ユーザID または e-mail:

パスワード:

IDとパスワードを記憶

パスワード紛失

オンライン状況
11 人のユーザが現在オンラインです。 (9 人のユーザが ウェブログ を参照しています。)

 登録ユーザ: 0
 ゲスト: 11

もっと...

ウェブログ カレンダー
« « 2010 9月 » »
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 1 2

最新ブログ記事

最近のコメント

最近のトラックバック

|
ウェブログ - ひろゆきの記事
|
 ひろゆきの記事配信

2007/03/15 Thu
 SWFAddressを試すのだ!
カテゴリ: flash : javascript : 
SWFAddress を試してみるのだ!

[sample][Polo (5)][Polo (7)]

要 Flash Player 8 以上


SWFObject + SWFAddress で、
ページ自体は変わってないのに、あたかもページが変わったかのように見せるの。
ブックマークも効くよ。ブラウザの"進む""戻る"ボタンも。

まず、SWFAddress をダウンロードしよう。
#最新版は、SWFAddress 2.4 (10/03/11現在)

Asual » SWFAddress


swfobject.js / swfaddress.js
swf を表示する html と同じ階層にでも置いておく。

swf を表示する html

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript" src="swfaddress.js"></script>

<div id="flashcontent">
代替テキスト(SEO対策) または 代替画像
</div>

<script type="text/javascript">
    // <![CDATA[
    var so = new SWFObject("sample.swf", "externalsample", "360", "300", "8.0.24.0", "#FFFFFF");
    so.addParam("allowScriptAccess", "sameDomain");
    so.addParam("loop", "true");
    so.addParam("quality", "best");
    so.addParam("menu", "false");

    so.write("flashcontent");
    // ]]>
</script>

# ExternalInterfaceを使ってみる (2) 参照。

sample.fla
_root に、ムービークリップ(インスタンス名: products) を配置。
products は、第2フレーム〜第9フレームそれぞれに、画像8つを配置。
メニュー選択で、changeMode() を実行させる。

第1フレームに、

import SWFAddress;

var baseTitle:String = "SWFAddress [sample]";
var urlList:Array = new Array();
for (var n:Number = 1; n <= 8; n++) {
    urlList.push("/polo/"+n+"/");
}

function changeMode(mode:Number):Void {
    SWFAddress.setValue(urlList[mode-1]);
}
SWFAddress.onChange = function():Void {
    var address:String = SWFAddress.getValue();
    var mode:Number = getIndex(urlList, address)+1;
    if (mode > 0) {
        SWFAddress.setTitle(baseTitle+" : Polo ("+mode+")");
    } else {
        SWFAddress.setTitle(baseTitle);
    }

    products.gotoAndStop(mode+1);
};

function getIndex(list:Array, str:String):Number {
    var t:Number = -1;
    for (var n:Number = 0; n < list.length; n++) {
        if (list[n] == str) {
            t = n;
        }
    }
    return t;
}

と記述。

sample.swf
sample.fla と同階層に SWFAddress.as (AS2.0) を置いて、
sample.swf をパブリッシュする。

参考資料「szktkhr.org » Blog Archive » SWFAddress導入メモ


Opera では、ブラウザの"進む""戻る"ボタンが効かないとか。

[追記] (10/03/11 Thu 16:00)
なんか変な挙動をするので、SWFAddress2.4に変えてみた。


関連記事: SWFObject + Express Install
関連記事: SWFObjectを使うのだ! (1)
関連記事: SWFObjectを使うのだ! (2)
関連記事: SWFAddressを試すのだ!
関連記事: SWFObject 1.5 + Express Install
関連記事: SWFForceSizeを試すのだ!
執筆者: ひろゆき (20:34)
ウェブログ | コメント (0) | トラックバック数 (0) | 閲覧数 (11120)
この記事のトラックバックURL  リンク・引用のないトラックバックは削除することがあります。
http://www.project-nya.jp/modules/weblog/weblog-tb.php/659
投稿された内容の著作権はコメントの投稿者に帰属します。
投稿者 スレッド