yoshiweb.NET-blog



HOME > blog > Flash から JavaScript でサイズ指定した HTML ウィンドウを開く
« ActionScriptで半角と全角の判定 | 缶詰 »

Flash から JavaScript でサイズ指定した HTML ウィンドウを開く

Flash から JavaScript でサイズ指定などした HTML のサブウィンドウを開くには、HTML に JavaScript を書いて、Flash から JavaScript を実行します。

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.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での記述方法も追加しました。

投稿者 yoshiweb - ActionScript - 2005/01/10 - 15:40:49 - Permalink
このエントリーをはてなブックマークに追加

Comments

【更新履歴】
2005/03/22 - JavaScriptのパラメータが載っているリンク先を追加。
2005/07/29 - スクリプトを変更。(voidなど)
投稿者 yoshiweb - 2005/03/22 - 22:29:06
yoshiwebさんいつもこのサイトで勉強させてもらっています。
ちょっと質問なのですが、※ JavaScript はブラウザで実行される機能ですので、ムービープレビューやプロジェクタ・ swf ファイル単体では動作しません。とありますが、作成途中で確かめたい場合はどうすればいいのでしょうか?初歩的な質問で大変申し訳ないのですが、教えていただけないでしょうか?
投稿者 chii - 2007/10/18 - 16:24:02
返信が遅くなってすみません、chiiさん。パブリッシュした後にブラウザでHTMLを開いて確認するしかないと思います。
投稿者 yoshiweb - 2007/10/25 - 11:20:29
勉強になりました
ありがとうございます
投稿者 koi - 2009/02/19 - 13:27:26

コメントを書く

※ スパム対策のためコメント内の URL は全角で書いてください。あとで半角に変換します。