我有点问题..但是我疯了......
在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。
答案 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']我觉得还可以......产量很高......