あなたが説明していることを達成するための最良の方法は、「pingJavaScript」と呼ばれる JavaScript 関数を Flash で呼び出すことです。JavaScript が実行されている場合、その JavaScript 関数は、「receiveJSNotification」と呼ばれる Flash ムービーの関数を呼び出します。したがって、Flash ムービーでそのメソッドが呼び出された場合、JS が実行されていることがわかります。
Flash ムービーと JavaScript の間の堅牢な通信を有効にするには、ムービーの最初のフレームの Actionscript の先頭にこれを含めます。
import flash.external.ExternalInterface;
import flash.events.Event;
JavaScript から「はい、生きています」を受け取る関数を追加します。
var js_available = false;
function receiveJSNotification(str:String):void {
_root.js_available = true;
}
ExternalInterface.addCallback("notifyFlash", receiveJSNotification);
ExternalInterface.call("pingJavaScript", null);
JavaScript の場合:
function pingJavaScript()
{
var movie = getFlash();
movie.notifyFlash();
}
function getFlash()
{
var movie = null;
if (navigator.appName.indexOf('Microsoft') != -1) {
movie = window['flashmovie'];
} else {
movie = document['flashmovie'];
}
return movie;
}