- 締切済み
FlashとJavaScriptの連携 (ExternalInterface)
初心者です。初めて質問いたします。 調べてやってみたのですが、上手くいかず、ご教授願えませんか? FlashのボタンからFlashに重ねたインラインフレームを制御しようとしてます。 その際に使いたいJavaScriptが・・・ function switchContent(id){ var view = $("main"); var tgt=$("main-win"); switch (id){ case "test1": view.style.visibility = "hidden"; tgt.src=""; break; case "test2": resizeMain(); view.style.visibility = "visible"; tgt.src="http://www.google.co.jp/"; break; } } というものです。main-winがインラインフレームで、その下に配置しているmainを表示、非表示と制御したいと考えております。 FlashのほうのASは・・・ import flash.external.*; Button.onRelease = function() { ExternalInterface.call("関数名", 引数); }; と調べやってみましたが、上手くいきません。 Flashのほうに問題があると思うのですが 何卒よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
JavaScript の方はよくわかりません。 仮にそれでうまく動作するものとします。 > ExternalInterface.call("関数名", 引数); > }; > > と調べやってみましたが、上手くいきません。 > Flashのほうに問題があると思うのですが これではどこに問題があるかわからないでしょう? 「数学の公式を書いただけ」 のようなもので, 実際にしたことを書かれていないのですから。 「ExternalInterface.call("switchContent", "test1"); としたけども,visibility が hidden にならなかった。」 とか 「myID = "test"; ExternalInterface.call("switchContent", myID); としたけども,visibility が hidden にならなかった。」 とか 「ExternalInterface.call("resizeMain", "test"); としたけども,visibility が hidden にならなかった。」 とか, 少なくとも「実際にしたこと」と「具体的結果」を書かないと間違いはわかりません。 上に書いた3つの例であっても, visibility が hidden になりそうなものは,1つ目のものだけです。 他2つは間違っています。 間違いなど無限通りもあります。 仮に 上に書いた3つの例のうち 1つ目をしても visibility が hidden にならない原因は無限に考えられますよ。 仮に Button の部分には my_btn と書かれていたとします。 ※Button というインスタンス名はダメです。クラス名とかぶってます。 その場合, 「ボタンには my_btn というインスタンス名をちゃんと付けているのか。」 とか, 「my_btn はスクリプトを書いたフレームに存在しているのか。」 とか, 「my_btn はスクリプトを書いた階層に存在しているのか。」 とか,とか,… import (importという行為ではなくimportというスクリプト)が使えるのは ActionScript 2.0 以降です。 「パブリッシュ設定で ActionScript のバージョンを 2.0 に設定してあるか。」とかも考えられます。 ちなみに ActionScript 3.0 もダメです。 onRelease は ActionScript 2.0 と 1.0 でのみ使えます。 import を使う以上 ActionScript 2.0 または 3.0 である必要がある。 onRelease を使う以上 ActionScript 1.0 または 2.0 である必要がある。 → 結局 ActionScript 2.0 以外の設定にはできない。 ということになります。 その他もまだまだまだまだ visibility が hidden にならない原因はあります。 ブラウザは大丈夫でしょうか? とか。 http://livedocs.adobe.com/flash/8_jp/main/00002200.html
補足
回答ありがとうございます。 説明不足で申し訳ありません。 ご指摘のインスタンス名、ActionScript のバージョン、ブラウザ等は大丈夫と思います。 関数と因数の組み合わせなのですが、様々な組み合わせを試してみましたが、main、main-win共に動かないのです。 javascriptの方が間違っているのでしょうか...