home > SWFAddress
SWFAddress
August 02, 2007
Flashの問題の一つのパーマリンク。Flash内部のコンテンツにブックマークができないやつです。そこでSWFAddressがあれば大丈夫。
必要なもの↓
Asual > SWFAddressからSWFAddress.asとswfaddress.js
SWFObjectからswfobject.js
ちなみに、ローカルでファイルを開くとFlash Playerのセキュリティー上の問題で、許可のチェックしないと見れませんが、サーバーにアップすれば問題なく作動します。あと、Operaではきかないようです。対応策を探しているのですが見つかりません。
SWFAddress.setValue('ページの名前');でアドレスは変わります。ブラウザータイトルを変える時はSWFAddress.setTitle('ページのタイトル');で大丈夫。それからSWFAddress.onChangeで、そのアドレスを打ち込んだ時にそのコンテンツにジャンプする関数を書く。この書き方は、サンプルが見つからなかったのでアナログちっくになっています。
import SWFAddress;
btn1.onRelease = function() {
SWFAddress.setValue('page1/');
//タイトル変更
//SWFAddress.setTitle('page1');
gotoAndPlay("page1");
}
btn2.onRelease = function() {
SWFAddress.setValue('page2/');
gotoAndPlay("page2");
}
btn3.onRelease = function() {
SWFAddress.setValue('page3/');
gotoAndPlay("page3");
}
SWFAddress.onChange = function() {
//ページ移動の関数
var address:String = SWFAddress.getValue();
switch(address){
case 'page1/':
gotoAndPlay("page1");
break;
case 'page2/':
gotoAndPlay("page2");
break;
case 'page3/':
gotoAndPlay("page3");
break;
}
}
htmlのhead、Bobyタグ内には
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript" src="swfaddress.js"></script>
<div id="flashcontent1">
代替テキスト(SEO対策) または 代替画像
</div>
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject("samp.swf", "samap", "550", "400", "7.0.19.0", "#FFFFFF", true);
so.addParam("allowScriptAccess", "sameDomain");
so.addParam("loop", "true");
so.addParam("quality", "best");
so.addParam("menu", "false");
so.write("flashcontent1");
// ]]>
</script>