Flash から JavaScript でサイズ指定した HTML ウィンドウを開く
Flash から JavaScript でサイズ指定などした HTML のサブウィンドウを開くには、HTML に JavaScript を書いて、Flash から JavaScript を実行します。
HTMLにポップアップを開く JavaScript を追加します。
----
Flash内のボタンをクリックしたら JavaScript を実行するように設定します。
ActionScript 1.0/2.0の場合は getURL 関数を使用します。//ウィンドウを開きたいボタンなどで実行
on ( release ) {
getURL("javascript:popup();");
}
ActionScript 3.0 の場合は ExternalInterface クラスを使います。import flash.events.MouseEvent;
import flash.external.ExternalInterface;
// ボタン設定
btn.buttonMode = true;
btn.addEventListener(MouseEvent.CLICK, _clickHandler);
// クリック時に実行
function _clickHandler (event:MouseEvent):void {
// 呼びたい JavaScript の関数名
var callJasFunction:String = "popup";
// JavaScriptに渡したい引数
var msg:String = "";
if ( ExternalInterface.available ) {
// JavaScriptの関数を実行
var returnValue:String = ExternalInterface.call(callJasFunction, msg);
}
}
▼AcrionScript 1.0、AcrionScript 2.0
サンプル - download
▼AcrionScript 3.0
サンプル - download
※ JavaScript はブラウザで実行される機能ですので、ムービープレビューやプロジェクタ・ swf ファイル単体では動作しません。
ポップアップで開いたウィンドウには、横幅/縦幅以外にも、スクロールバーの表示/非表示など、JavaScript のパラメータを変更することでいろいろと設定することができます。詳しくは下記のサイトを御覧ください。
TAG index - サブウィンドウのオプション一覧
http://www.tagindex.com/javascript/window/open_option.html
Adobe - Flashでポップアップブラウザウィンドウを作成する方法
Adobe - 他のウィンドウに影響を与える fscommand の使用を避ける
Adobe のテクニカルノートで FScommandを使用した方法 も書かれていますが、手間がかかるわりに対応していないブラウザもありますので getURL や ExternalInterface で JavaScript を実行するほうがよさそうです。
【追記】ActionScript 3.0での記述方法も追加しました。
HTMLにポップアップを開く JavaScript を追加します。
<script type="text/javascript">
<!--
function popup(){
window.open("ファイル名", "ウィンドウ名", "width=横幅,height=縦幅");
}
// -->
</script>
----
Flash内のボタンをクリックしたら JavaScript を実行するように設定します。
ActionScript 1.0/2.0の場合は getURL 関数を使用します。
on ( release ) {
getURL("javascript:popup();");
}
ActionScript 3.0 の場合は ExternalInterface クラスを使います。
import flash.external.ExternalInterface;
// ボタン設定
btn.buttonMode = true;
btn.addEventListener(MouseEvent.CLICK, _clickHandler);
// クリック時に実行
function _clickHandler (event:MouseEvent):void {
// 呼びたい JavaScript の関数名
var callJasFunction:String = "popup";
// JavaScriptに渡したい引数
var msg:String = "";
if ( ExternalInterface.available ) {
// JavaScriptの関数を実行
var returnValue:String = ExternalInterface.call(callJasFunction, msg);
}
}
▼AcrionScript 1.0、AcrionScript 2.0
サンプル - download
▼AcrionScript 3.0
サンプル - download
※ JavaScript はブラウザで実行される機能ですので、ムービープレビューやプロジェクタ・ swf ファイル単体では動作しません。
ポップアップで開いたウィンドウには、横幅/縦幅以外にも、スクロールバーの表示/非表示など、JavaScript のパラメータを変更することでいろいろと設定することができます。詳しくは下記のサイトを御覧ください。
TAG index - サブウィンドウのオプション一覧
http://www.tagindex.com/javascript/window/open_option.html
Adobe - Flashでポップアップブラウザウィンドウを作成する方法
Adobe - 他のウィンドウに影響を与える fscommand の使用を避ける
Adobe のテクニカルノートで FScommandを使用した方法 も書かれていますが、手間がかかるわりに対応していないブラウザもありますので getURL や ExternalInterface で JavaScript を実行するほうがよさそうです。
【追記】ActionScript 3.0での記述方法も追加しました。
投稿日 : 2005年01月10日 - yoshiweb - カテゴリ: ActionScript
コメント
投稿者 : yoshiweb
2005年03月22日 22時29分06秒
投稿者 : chii
yoshiwebさんいつもこのサイトで勉強させてもらっています。
ちょっと質問なのですが、※ JavaScript はブラウザで実行される機能ですので、ムービープレビューやプロジェクタ・ swf ファイル単体では動作しません。とありますが、作成途中で確かめたい場合はどうすればいいのでしょうか?初歩的な質問で大変申し訳ないのですが、教えていただけないでしょうか?
ちょっと質問なのですが、※ JavaScript はブラウザで実行される機能ですので、ムービープレビューやプロジェクタ・ swf ファイル単体では動作しません。とありますが、作成途中で確かめたい場合はどうすればいいのでしょうか?初歩的な質問で大変申し訳ないのですが、教えていただけないでしょうか?
2007年10月18日 16時24分02秒
投稿者 : yoshiweb
返信が遅くなってすみません、chiiさん。パブリッシュした後にブラウザでHTMLを開いて確認するしかないと思います。
2007年10月25日 11時20分29秒
投稿者 : koi
勉強になりました
ありがとうございます
ありがとうございます
2009年02月19日 13時27分26秒
2005/03/22 - JavaScriptのパラメータが載っているリンク先を追加。
2005/07/29 - スクリプトを変更。(voidなど)