从php传递变量到flash

时间:2009-08-25 13:00:40

标签: php jquery flash

我有点问题..但是我疯了......

在html中我有这段代码:

 <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  codebase="http://macromedia.com/cabs/swflash.cab#version=6,0,0,0"   
  ID=flaMovie WIDTH=554.6 HEIGHT=57.3>
  <PARAM NAME=movie VALUE="main_menu.swf">
  <PARAM NAME=FlashVars VALUE="nyelv=<?php echo $_SESSION['lang'];?>">
  <PARAM NAME=quality VALUE=medium>
  <PARAM NAME=bgcolor VALUE=#99CC33>
  <EMBED src="main_menu.swf" 
    FlashVars='nyelv=<?php echo $_SESSION['lang'];?>' 
    bgcolor=#99CC33 WIDTH=554.6 HEIGHT=57.3 
    TYPE="application/x-shockwave-flash">
  </EMBED>
</OBJECT>

闪现:

第一个关键帧:

 stop();
 if (lang == "EN") {
    gotoAndStop(2);
 }else{
    gotoAndStop(3);
 }

2,3关键帧只有一些图形,而Stop()

如果lang是EN,那么我需要进入关键帧2,如果不是,则转到3 ....

在IE6上运行良好..没问题。  在FF 3.5上没有问题..如果我点击FF上的刷新按钮,那么有时候OK,有时候不行,有时只有关键帧3上显示的图形的一部分......我真的不明白..

早些时候我对FF上的flasvars没有问题...... FF 3.x改变了什么?

将变量传递给flash的其他方法是什么? (我不想使用查询字符串..)

Maybee jquery?

日Thnx。

2 个答案:

答案 0 :(得分:0)

在我看来,您传递的是名为nyelv而非lang的变量。检查你的flashvars,然后再试一次。

对于Firefox中的错误呈现,这可能是缓存问题。在调用gotoAndStop()之前,您是否确保所有内容都已正确加载?

此外,如果您使用的是Flash 8或更早版本,那么在加载完所有内容后等待帧前进可能是个好主意。我发现这有很多次,因为所有加载的东西并不能保证一切都被初始化。

所以要给出正确的答案,试试这个(假设8或更早,以及AS2):

Frame 1:
--------

function preloadWait() :Void {
   if (_root.getBytesLoaded() != undefined 
        && _root.getBytesLoaded() == _root.getBytesTotal()) {
       delete _root.onEnterFrame;
       _root.play();
   }
}

stop();
_root.onEnterFrame == preloadWait;

Frame 2:
--------

if (lang == "EN") {
    gotoAndStop(3);
 }else{
    gotoAndStop(4);
 }

第3帧和第4帧应包含您在第2帧和第3帧中的内容。

答案 1 :(得分:0)

是。新的flash播放器.. $ _SESSION ['lang']输出是EN还是HUN取决于你按下了什么链接....如果我将EN硬编码到flashvars然后没有改变,所以$ _SESSION ['lang']我觉得还可以......产量很高......