みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

フラッシュをランダム表記+個別リンク設定

フラッシュ製作環境がないので、アクションスクリプトで
リンク設定のできないswfがいくつかあり、これを個別に
リンク設定させ、リロードごとにランダムに表示したいです。
リンク設定をしなければ、
<SCRIPT LANGUAGE="JavaScript">
<!--
simg=new Array(3);
simg[0]="○○";
simg[1]="△△";
simg[2]="□□";
Myimg=Math.floor(3*Math.random());
document.write("<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.c... width='180' height='150'><param name='allowScriptAccess' value='sameDomain' /><param name='movie' value='"+simg[Myimg]+".swf' /><param name='quality' value='high' /><param name='bgcolor' value='#ffffff' /><param name='LOOP' value='false'><embed src='"+simg[Myimg]+".swf' quality='high' bgcolor='#ffffff' width='180' height='150' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' loop='false' /></embed></object>");
//-->
</SCRIPT>
で、うまくランダムに表示されました。
しかし、これに各ファイルにリンクを設定したいのです。
ランダムにせずに1つだけのバナーなら
<object type='application/x-shockwave-flash' data='○○.swf' width='180' height='150'><param name='flashvars' value='clickTag=http://○○.html&clickTarget=_self' /><param name='allowScriptAccess' value='always' /><param name='movie' value='○○.swf' /><param name='bgcolor' value='#ffffff'></object>
でリンクは貼れたのですが、
ランダム表示の記述に組み合わせるすべがわかりません。
なにとぞよろしくお願いします。

投稿日時 - 2009-04-05 19:01:40

QNo.4855313

すぐに回答ほしいです

質問者が選んだベストアンサー

どんなFLASHをお使いか分からないので、動作確認はできませんが下記のコードはどうでしょうか。

<SCRIPT LANGUAGE="JavaScript">
<!--
// イメージファイルパスの初期化
simg = new Array(3);
simg[0]="○○";
simg[1]="△△";
simg[2]="□□";

// ジャンプ先URLの初期化
surl = new Array(3);
surl[0] = "h ttp://aaa.com/";
surl[1] = "h ttp://bbb.com/";
surl[2] = "h ttp://ccc.com/";

// 表示するFLASHを決める
Myimg = Math.floor(3*Math.random());

// FLASHを表示させるHTMLを吐く
document.write("<object type='application/x-shockwave-flash' data='" + simg[Myimg] + ".swf' width='180' height='150'>");
document.write("<param name='flashvars' value='clickTag=" + surl[Myimg] + "&clickTarget=_self' />");
document.write("<param name='allowScriptAccess' value='always' />");
document.write("<param name='movie' value='" + simg[Myimg] + ".swf' />");
document.write("<param name='bgcolor' value='#ffffff'>");
document.write("</object>");
//-->
</SCRIPT>

注意
・document.writeは、中の文字列が連続しすぎてよく分からないことになっていたので、分割してしまいました (^^;
・OBJECTタグに対応していないブラウザ用と思われるEMBEDタグは省略してしまいました。

投稿日時 - 2009-04-06 20:09:55

お礼

問題なくできました!!
本当にありがとうございます!!!
今年一番感激しました!
今日は寝る前に何度もお礼を言ってから
就寝いたします。ありがとうございました!!

投稿日時 - 2009-04-06 21:56:34

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

最初の初期化部分に

surl = new Array(3);
surl[0] = "http://aaa.com/";
surl[1] = "http://bbb.com/";
surl[2] = "http://ccc.com/";

を追加し、リンク先のアドレスにsurl[Myimg]が埋め込まれるスクリプトにしてみてはどうでしょうか。

投稿日時 - 2009-04-05 19:17:20

お礼

回答ありがとうございます

<SCRIPT LANGUAGE="JavaScript">
<!--
surl = new Array(3);
surl[0] = "http://aaa.com/";
surl[1] = "http://bbb.com/";
surl[2] = "http://ccc.com/";
simg=new Array(3);
simg[0]="○○";
simg[1]="△△";
simg[2]="□□";
Myimg=Math.floor(3*Math.random());
document.write("<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='​http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.c...​ width='180' height='150'><param name='allowScriptAccess' value='sameDomain' /><param name='movie' value='"+simg[Myimg]+".swf' /><param name='quality' value='high' /><param name='bgcolor' value='#ffffff' /><param name='LOOP' value='false'><embed src='"+simg[Myimg]+".swf' quality='high' bgcolor='#ffffff' width='180' height='150' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='​http://www.macromedia.com/go/getflashplayer'​ loop='false' /></embed></object>");
//-->
</SCRIPT>
こういう記述でいいのでしょうか?
表示はできなかったです。。。

投稿日時 - 2009-04-05 20:52:03

あなたにオススメの質問