プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。
質問を見ていただきありがとうございます。


・左フレームにFLASHのメニュー
(リンクを押すとそれぞれにムービーあり)

・右フレームはHTM(CSS)

というサイトを作成したとき、右HTMフレームにもテキストでFLASHと同じリンクを作成しました。
(ページ読み上げソフトを使われる方がリンク先に飛べるように)

このとき、右のHTMフレームのリンクをクリックした際、同時に左のFLASHを(FLASHのフレーム番号やコンテンツに飛ばすなどして)動かすことは可能でしょうか?
※タグなどがあればいいんですけど聞いたことがありません。
※FLASHリンクを押す→FLASHの押したリンクメニュー(現在地)に赤い点が付く…というのを、HTM側とそろうように…同じように制御できるかどうかです。



調べたところ、似たような質問はありました。もちろん「できない」と一刀両断されていました。

…が、ダメモトで質問させていただきます。

※できない場合、打開策は…。
右のリンクを押したあと、右と左を一緒に再読込してそのメニュー用のFLASHをまた読み込ませる…ということしかないでしょうか?
これだとかなり辛いですよね…。


それ以外いも、なにか良い方法がありましたらよろしくおねがいします。
説明でわからない点がありましたら、補足等をできるだけ素早く付けたいと思います。
 

A 回答 (2件)

ダメなことは全くないですよ。


ただ,面倒なのと,JavaScriptを有効にしていないブラウザでは使うことができないことと
ブラウザによっては動作しない可能性があるの問題かもしれません。

一番下の参考URL↓にそのようなサンプルが紹介されています。

SWFを適当に自作して,サンプルページのソースを参考にしてみましたらちゃんと動作しました。
ページのソースに詳細説明が入っています。

SWFファイル側は特に何もしなくて良いです。
適当にフレームを作って,適当なフレームにstop();とかを書いておけば良いだけです。
HTML側のUavaScriptに
scene_table[0]=0;
scene_table[1]=30;
scene_table[2]=66;
などと行きたいフレームを設定しておいて,functionでFlashを目的のフレームにジャンプさせるというものです。
ですから,Flashの
「FLASHの押したリンクメニュー(現在地)に赤い点が付く」マークはフレームごとに変えると良いと思います。

つまり,Flash側の ○○.html を表示させたいボタンには,
---------------------------------
on (release) {
getURL("○○.html", "_main");
gotoAndStop(△△);
}
---------------------------------
みたいな感じで,△△フレームに,「リンクメニュー(現在地)に赤い点」を付ければいいわけです。
ついでに,△△フレームではこのボタンを無効にしておくと,なお良いですね。

あと,参考URLで言うところの,
function ChangeScene() に右フレームを変えるスクリプトを追加すれば出来上がりです。

=====================================
それと,ご質問に対する回答と言うより,
質問されている内容の根本に関する話ですが,
Flashも工夫次第で読み上げが可能です。

アクセシビリティに配慮したFlashコンテンツ 富士通
http://jp.fujitsu.com/accessibility/casestudy/pd …
Macromedia Flash(TM) ムービーの読み上げについて
http://www-6.ibm.com/jp/accessibility/soft/jaws4 …

良かったらこちら↑の方も参考にしてみてください。
アクセシビリティは大切なことですよね。私もいろいろ研究して行きたいと思っているところです。

参考URL:http://www.game3rd.com/flash/scripter/script/sam …
    • good
    • 0
この回答へのお礼

ささくんさん、ありがとうございます!!
うわあ、まさか回答いただけるとは思わなかったので吃驚です。本当に感謝です。

JAVAを使えば可能なのですね!
こんなに丁寧に説明してくださって…ありがとうございます。大感謝です!

さっそくできるか取りかかってみようと思います!
取り急ぎお礼までに…。

そして、Flashも読み上げソフトで読むことができるのですね! これはすごく勉強になりました。質問をして良かったです。
アクセシビリティはほんと大切ですね。自分が見えないと思うと、先方の意図あるなしに関わらず、どうしても懲りたいところですね。

もっと広い視野を持たなければ…と思いました!
ありがとうございます! また結果報告いたします。

お礼日時:2005/06/24 18:51

#1です。

できましたか?
#1の一部訂正と,補足です。

>> あと,参考URLで言うところの,
>> function ChangeScene() に
>> 右フレームを変えるスクリプトを追加すれば出来上がりです。

と書きましたが,別に追加しなくても良かったです。

http://www.game3rd.com/flash/scripter/script/sam …
のJavaScriptはそのまま拝借して,後はFlashでできます。
ファイルの階層構造が下のようなとき,

 ┌index.html (フレームTOP)
 ├menu.html (左フレームのメニュー)
 ├menu.swf (メニューフレームのSWF)
 ├1.html (右に表示される最初のページ(frame name="main"))
 ├2.html
 └3.html

「menu.html」は↓このようになります。
--------------------------------------
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<TITLE>menu</TITLE>
<script language="JavaScript" type="text/javascript">
<!--
scene_table=new Array(3);
scene_table[0]=0;
scene_table[1]=1;
scene_table[2]=2;
function ChangeScene(num)
{
whichObj("main").GotoFrame(scene_table[num]);
}
function whichObj(objName)
{
if (navigator.appName=="Netscape")
{
return window.document[objName];
}
else
{
return window[objName];
}
}
//-->
</script>
</HEAD>
<BODY>
<!-- URL's used in the movie-->
<!-- ココにSWFを貼り付けるタグが来ます -->
<!-- Objectタグ内のidを id="main"にするのをお忘れなく -->
<p><a href="JavaScript:ChangeScene(0)" language="JavaScript">ページ1</a></p>
<p><a href="JavaScript:ChangeScene(1)" language="JavaScript">ページ2</a></p>
<p><a href="JavaScript:ChangeScene(2)" language="JavaScript">ページ3</a></p>
</BODY>
</HTML>
----------------------------------

1フレームのボタンには
------------------------
on (release) {
gotoAndStop(1);
}
------------------------
↑これだけ。

そのかわり1フレームのフレームアクションは
------------------------
stop();
getURL("1.html", "main");
------------------------

2フレームのボタンには
------------------------
on (release) {
gotoAndStop(2);
}
------------------------

2フレームのフレームアクションは
------------------------
stop();
getURL("2.html", "main");
------------------------

   …   …  …

としていけば良いです。
getURLをボタンではなく,フレームに書いておいて,
そのgetURLをFlashのボタンからも,JavaScriptからも使うという方法です。
JavaScriptがあまり好きではない人の発想だとバレバレですね。

この回答への補足

こちらも、ご丁寧にありがとうございます。
大変助かります!
追って…取りかかり次第、またお礼させていただきますね!(^▽^)

補足日時:2005/06/24 18:52
    • good
    • 0
この回答へのお礼

うまくクリアできました!
本当にありがとうございます。視野が広がったことも良いことだし、技術と自信がついたということが一番です。

これからもまたお目にかかることがあるとは思いますが、またよろしくおねがいします。
今回はほんとうにありがとうございました!

お礼日時:2005/06/28 21:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!