Flash / ActionScript プログラムに関する各種メモ書き:タグ「JavaScript」での検索

JavaScriptからFlash Action Script(2.0)を呼び出す

JavaScriptからFlash内の任意の関数を呼び出すときには以下のようにします。

まずFlash内の関数 my_func を呼び出したい場合は下記のようにして JavaScriptから呼び出す様の関数 JS_my_func を定義します。

.fla ファイル内に記述(AS2.0)

function my_func(){
    // ここに処理内容を記述
}
import flash.external.ExternalInterface;
ExternalInterface.addCallback("JS_my_func", _root, my_func);

JavaScript内には以下のように記述します。

JavaScript内に記述

function test_asfunc(){
	var id ='hogehoge'
	var swf = document.all? window[id] : document[id];
	alert(swf);
	ret_val = swf.JS_my_func(); // 引数を渡したければカッコ内に記述
	alert(ret_val);
}

HTMLには以下のように記述します

<a href="#" onclick="test_asfunc();">TEST</a>

参考:http://goo.gl/0r8vh

No.840
03/26 14:54

edit

ActionScript2.0
JavaScript

Flashムービー(ActionScript3.0)からJavaScriptを実行する

■ JavaScriptを実行する方法

// javascript
import flash.external.ExternalInterface;
ExternalInterface.call("function(){ javascript:alert('test from timeline as'); }");


■ JSProxyを使う方法

JSProxy

http://d.hatena.ne.jp/secondlife/20071213/1197472257

を使うと便利です。

Flashのタイムラインアクションに以下を記述。

jsproxy.as をパブリッシュするファイルと同じフォルダに置いておく

import JSProxy;
JSProxy.proxy.$alert('JavaScript from timeline as');

■ 注意点

Windows IE6 の場合、HTML表示後に動的に生成したDOMオブジェクト内にFlashムービーを
貼り付けると、JavaScript実行時に
「NullはNullまたはオブジェクトではありません。」
というエラーが表示されるので注意。
HTMLにFlash貼り付けエリアをあらかじめ用意しておくとよい。
No.683
03/26 13:18

edit

ActionScript3.0
JavaScript

ActionScript で 本番環境でTraceを行う(FlashからJavaScriptのAlert関数を実行)

■ ActionScriptからJavaScriptのalertを利用する。

下記のように記述します。

// ActionScript 3.0
var hoge=500;
import flash.external.ExternalInterface;
ExternalInterface.call("function(){ javascript:alert('hoge'); }");

// ActionScript 2.0
var hoge=500;
getURL("javascript:alert('"+hoge+"');");

■ FireFoxの機能拡張 FlashTracer を利用する。

https://addons.mozilla.org/ja/firefox/addon/flashtracer/

注意:debug versionのフラッシュプレイヤーが必要です。

1. /Library/Application Support/Macromedia/mm.cfg を以下の内容で作成します

ErrorReportingEnable=1
TraceOutputFileEnable=1

2. FlashTracerをインストール後ログファイルの場所を指定します。

例:ユーザー「hogehoge」の場合

:Users:hogehoge:Library:Preferences:Macromedia:Flash Player:Logs:flashlog.txt

参考:http://d.hatena.ne.jp/kasahi/20070531/1180630084

No.514
11/22 09:46

edit

Firefox
ActionScript3.0
ActionScript2.0
JavaScript