AS 2.0 ExternalInterface.call不调用javascript函数

时间:2012-08-07 12:57:24

标签: flash actionscript-2 externalinterface

import flash.external.ExternalInterface;

//ExternalInterface.call("alert", "what");
ExternalInterface.call("show_alert");

HTML CODE

<script type="text/javascript">
function show_alert() {
 alert('no');   
}
</script>


<div id="flashContent">
        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" id="test" align="middle">
            <param name="movie" value="test.swf" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="#999900" />
            <param name="play" value="true" />
            <param name="loop" value="true" />
            <param name="wmode" value="window" />
            <param name="scale" value="showall" />
            <param name="menu" value="true" />
            <param name="devicefont" value="false" />
            <param name="salign" value="" />
            <param name="allowScriptAccess" value="sameDomain" />
            <!--[if !IE]>-->
            <object type="application/x-shockwave-flash" data="test.swf" width="550" height="400">
                <param name="movie" value="test.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="#999900" />
                <param name="play" value="true" />
                <param name="loop" value="true" />
                <param name="wmode" value="window" />
                <param name="scale" value="showall" />
                <param name="menu" value="true" />
                <param name="devicefont" value="false" />
                <param name="salign" value="" />
                <param name="allowScriptAccess" value="sameDomain" />
            <!--<![endif]-->
                <a href="http://www.adobe.com/go/getflash">
                    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                </a>
            <!--[if !IE]>-->
            </object>
            <!--<![endif]-->
        </object>
    </div>

1 个答案:

答案 0 :(得分:1)

如果您使用AS2创建文件,请尝试以下操作: _root.getURL( “JavaScript的:show_alert();”);而不是ExternalInterface.call(“show_alert”);

如果您使用的是AS3,那么代码是完美的,无需更改。

由于某些安全功能,Flash Player无法在本地与javascript通信。如果您在实时服务器或localhost上运行相同的文件,它将起作用。