当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > 将FlashVars写在JS函数中,实现变量更新与后台同步

ActionScript
Flash as常用后缀及意义
AS3教程:Point类计算两点间距离
flash as3利用ContextMenu实现右键响应
Flash AS3教程:Motion类
Flash AS教程:文本类对象知识总结
Flash AS3教程:Random类
Flash AS3教程:Level2D类
Flash AS3教程:ApplySocket类
Flash AS3教程:运算符“?:”
Flash AS3教程:Direction类和Dot类
Flash AS3教程:小游戏开发实战尝试
Flash cs3、Flex与asp、php通信总结(包含数据库)
从基础开始深入学Flash AS3教程(7)(译文)
Flash as3教程:OutDisplay类
从基础开始深入学Flash AS3教程(6)(译文)
Flash简单AS代码实现绚丽曲线视觉特效
用纯Flash Actionscript做的火柴棍小人跑的动画
Flash AS解决中文mp3乱码
Flash加载外部文件创建进度条3种方法
AS的LoaderInfo类控制SWF的大小和播放帧频

ActionScript 中的 将FlashVars写在JS函数中,实现变量更新与后台同步


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-01   浏览: 167 ::
收藏到网摘: n/a

定义 JS 函数,例如名为 GetSwfUrl():

<script type="text/javascript">
function GetSwfUrl()
{
var pics1 = parseInt(Math.random() * 5) + 1;
var pics2 = parseInt(Math.random() * 5) + 1;
myFlashId.FlashVars = "pic01Num="+pics1+"&pic02Num="+pics2;
}
</script>

html 中 Flash 段:
<param name="FlashVars" value="">

在 AS 中用 getURL("javascript:GetSwfUrl()") 即可实现与后台的实时数据更新。只是此方法在 FF 下不能兼容,不知道 myFlashId.FlashVars = "pic01Num="+pics1+"&pic02Num="+pics2 这样的写法是不是不合 FF 标准,还请有经验的朋友不吝指教。

***************

然而以下的方法将 FlashVars 参数直接写在 Flash 代码段内却可以实现多浏览器兼容。

JS 部分:
<script type="text/javascript">
var pics1 = parseInt(Math.random() * 5) + 1;
var pics2 = parseInt(Math.random() * 5) + 1;
</script>

Flash 段:
<param name="FlashVars" value="pic01Num='+pics1+'&pic02Num='+pics2+'">
<embed FlashVars="pic01Num='+pics1+'&pic02Num='+pics2+'">

或直接赋值:
<param name="FlashVars" value="pic01Num=3&pic02Num=5">
<embed FlashVars="pic01Num=3&pic02Num=5">

***************

另外,将变量写在 .swf 后面用 ? 连接也可以实现多浏览器兼容。"