![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
皆様こんにちは。
WEB作成初心者で常識的な質問でしたら大変申し訳ございませんが、調べてみてもどうしても解決できなかった為ご質問させて頂きました。どうかご教授お願いいたします。
タイトルのとおり、Flash側からjavascriptをコールしたいのですが、
swf側
on(press){
getURL("javascript: a()");
}
html側
function a(){
alert('alert!');
}
のような例の場合、htmlファイルとswfファイルが同じディレクトリ内にある場合は警告ウィンドウがきちんと表示されるのですが、swfを別サーバーに置いてそれを呼び出しているhtmlの場合は警告ウィンドウが表示されません。
私がgetURLの仕様を知らないだけなのかもしれませんが、別サーバーにあるswfファイルをロードしているようなページの場合、どのようにすれば呼び出し元htmlを表示しているウィンドウに対してjavascriptをコールする事が出来ますでしょうか?
お手数をおかけしますがご教授頂ければ幸いです。
No.1ベストアンサー
- 回答日時:
Flash Player 6 以降は、ドメイン間のセキュリティ保護機能が導入されています。
HTML で記述された JavaScript を Flash 側から呼び出す際は、swf ファイルと HTML ファイルが同じドメイン(端的に言うと同じサーバー)に存在しているかどうかが、重要なポイントになります。
別のサーバーにある swf ファイルと HTML ファイル間でやりとりを行う、つまり、HTML ファイルがあるサーバーとは違うサーバーにあるムービーを表示している場合、そのムービーから HTML ファイルに書かれている JavaScript を実行できるようにするかどうかは、ムービーではなく HTML のタグの方に秘密があります。
普通にパブリッシュすると、ムービーを表示するためのHTMLファイルも一緒に作成されます。この HTML ファイルを、メモ帳などで開いてみてください。
<object> ~ </object> で囲まれている部分が、Flash ムービーを表示するためのタグです。
この中に、
<param name="allowScriptAccess" value="sameDomain" />
<embed src=・・・ allowScriptAccess="sameDomain"
という箇所があるかと思います。
この中の”sameDomain”の部分を、2箇所とも、”always”に変更してください。別のサーバーにある swf ファイルからでも、この HTML で記述されている JavaScript を実行できるようになります。
ちなみに、デフォルトである”sameDomain”とは、swf ファイルと HTML ファイルが同じドメインに存在している場合に限り、swf ファイルと HTML ファイルとの間でスクリプトの実行を許可する、という意味です。
同じディレクトリ内にある時は正常なのに、違うサーバーにムービーを置くと動かなくなるのは、このような理由によるものです。
なお、sameDomain にした場合でも、サーバーが同じであればいいだけなので、同じサーバー内にあるムービーと HTML ファイルならば、別のフォルダにあってもスクリプトは実行されます。
ご回答ありがとうございます。
なるほど~swfの呼び出し側のタグだったのですね・・
ムービー側ばかりに気が行ってswf呼び出し側のタグも
一つ一つに意味があるものなのにFlashのパブリッシュ機能に任せて当たり前のように使っておりました。
大変丁寧で分かりやすくご回答して頂きましてありがとうございました。
大変勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FLASHで作成した.swfファイルが...
-
FLASHを使って、複数のswfとjpg...
-
iモード用フラッシュ
-
サポートされたファイル形式お...
-
Googleマップに保存した地点が...
-
PC内で速度を遅くした音源をCD...
-
個別に違う添付ファイルを付け...
-
PDFファイルの倍率を変えて保存...
-
e-taxで送信ファイルの拡張子が...
-
【VBA】マクロの入ったファイル...
-
スマホでtxtファイルを編集する...
-
ExcelからCSVへウムラウトなど...
-
指定したフォルダーを開いてフ...
-
A4の紙に印刷されている文字を...
-
audacityで、編集して、CDにし...
-
iTunes foobar2000 プレイリスト
-
stdio.hの中身
-
RaspberryPi にUSBメモリを接続...
-
eclipseでタブ入力ができなくな...
-
複数のブックを新しいブックのS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
swfファイルの開き方を教えてく...
-
FlashからJavaScriptを呼び出す...
-
後ろから光がさしてるようなFLASH
-
ウェブサイトに設置したFLASHフ...
-
URL指定での外部ファイルの読込
-
swf の width と height を調べ...
-
FLASHを使って、複数のswfとjpg...
-
Flashファイルをスタンドアロー...
-
太鼓のオワタツジンについて
-
Flashの背景にFlashを入れたい
-
FLASHで作成した.swfファイルが...
-
FlashPlayerスタンドアローンに...
-
FLASHゲームのデータについて
-
サポートされたファイル形式お...
-
【VBA】マクロの入ったファイル...
-
PDFファイルの倍率を変えて保存...
-
Googleマップに保存した地点が...
-
PC内で速度を遅くした音源をCD...
-
個別に違う添付ファイルを付け...
-
A4の紙に印刷されている文字を...
おすすめ情報