专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Flash

flash与as3调用有关问题请问

发布时间:2011-06-27 19:57:55 文章来源:www.iduyao.cn 采编人员:星星草
flash与as3调用问题请教
在遨游下可以用,但是必须先发送flash到js,如果先发js到flash错误
ie6下不能,火狐不能,请教怎么回事,代码全部提供
C# code
import flash.external.ExternalInterface;
import flash.events.MouseEvent;

btn.addEventListener(MouseEvent.CLICK,clickHandler);

function clickHandler(evt:MouseEvent)
{
    ExternalInterface.call('jsFunction',txt.text);
    ExternalInterface.addCallback("flashFunction", flashHander);
}
function flashHander(msg:String)
{
    result.text=msg;
}


HTML code
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="100">
  <param name="allowScriptAccess" value="always" />
  <param name="movie" value="FlashToJs.swf" />
  <param name="quality" value="high" />
  <param name="wmode" value="opaque" />
  <param name="swfversion" value="6.0.65.0" />
  <!-- 此 param 标签提示使用 Flash Player 6.0 r65 和更高版本的用户下载最新版本的 Flash Player。如果您不想让用户看到该提示,请将其删

除。 -->
  <param name="expressinstall" value="Scripts/expressInstall.swf" />
  <!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 -->
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="FlashToJs.swf" width="550" height="100">
    <!--<![endif]-->
    <param name="allowScriptAccess" value="always" />
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="swfversion" value="6.0.65.0" />
    <param name="expressinstall" value="Scripts/expressInstall.swf" />
    <!-- 浏览器将以下替代内容显示给使用 Flash Player 6.0 和更低版本的用户。 -->
    <div>
      <h4>此页面上的内容需要较新版本的 Adobe Flash Player。</h4>
      <p><a href="http://www.adobe.com/go/getflashplayer"><img 

src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="获取 Adobe Flash Player" width="112" 

height="33" /></a></p>
    </div>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>
<div style="background:#eee;width:500px;height:30px;padding:10px;border:solid 1px #000;">
<input type="text" name="text" id="text" value="" style="width:300px;" />
<input type="button" name="button" id="button" value="发送给Flash"  onclick="clickme()"/>
</div>
<script type="text/javascript">
swfobject.registerObject("FlashID");
function jsFunction(msg)    
{   
    document.getElementById("text").value=msg;
}
function clickme()
{
    var msg=document.getElementById("text").value;
    document.getElementById("FlashID").flashFunction(msg);
}
var  name  =  navigator.appName;  // 获取浏览器名称 
              var  version  =  parseFloat(navigator.appVersion);  // 获取浏览器版本 
              var  userAgent  =  navigator.userAgent;  // 获得浏览器商家信息 
             document.write( " 浏览器名称:  "   +  name  +   " <br> " );
            document.write( " 浏览器版本:  "   +  version  +   " <br> " );
            document.write( " 浏览器商家信息:  "   +  userAgent);

</script>



------解决方案--------------------
你要发给js的时候才注册回调,js先发给flash的时候,flash还没注册回调啊。在flash加载成功后马上注册回调
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: