我有一些SWF对象(一个时钟和一个日期)显示在一个实时网站上,现在我试图在localhost上设置该网站,但是swf对象消失了。我试图将网站放在子域上,一切正常,但我尝试并搜索了如何使swf在本地工作但没有成功。
有人可以分享一下这些swfObjects如何只在localhost / wampv上消失了吗?
index.php上的SWF对象
<div id="time">
<?php embed_flash("swf/clock.swf", CLOCK_WIDTH, CLOCK_HEIGHT, "8", '', "flashcontent");?>
<?php embed_flash("swf/date.swf", DATE_WIDTH, DATE_HEIGHT, "8", '', "flashcontent_date");?>
</div>
以下是Flash_function.php的代码
<?php
function embed_flash($name, $w, $h, $version, $bgcolor, $id)
{
$cacheBuster = rand();
$padTop = $h/3;
?>
<style>
a.noflash:link, a.noflash:visited, a.noflash:active {color: #1860C2; text-decoration: none; background:#FFFFFF;}
a.noflash:hover {color:#000; text-decoration:none; background:#EEEEEE;}
.message { width: <?=$w;?>px; font-size:12px; font-weight:normal; margin-bottom: 10px; padding: 5px; color: #EEE; background: orange;"}
</style>
<div id="<?=$id;?>" align="center">
<noscript>
<div class="message">
Please enable <a href="https://www.google.com/support/adsense/bin/answer.py?answer=12654" target="_blank" class="noflash"> JavaScript </a> to view this page properly.
</div>
</noscript>
<div class="message">
You need to update your Flash plugin. Click <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&promoid=BIOW" target="_blank" class="noflash"> here </a> if you want to continue.
</div>
</div>
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject("<?=$name;?>", "<?=$w;?>", "<?=$h;?>", "<?=$version;?>", "<?=$bgcolor;?>","<?=$id;?>" );
so.addParam("quality", "high");
so.addParam("allowScriptAccess", "sameDomain");
so.addParam("scale", "showall");
so.addParam("loop", "false");
so.addParam("wmode", "transparent");
so.write("<?=$id;?>");
// ]]>
</script>
我检查了网站的Firebug,因此在实际网站上,代码显示为
<div id="flashcontent_date" align="center">
<embed id="undefined" width="240" height="50" wmode="transparent" loop="false" scale="showall" allowscriptaccess="sameDomain" quality="high" name="undefined" src="swf/date.swf" type="application/x-shockwave-flash">
</div>
但在本地主机上它显示为
<div id="<?=$id;?>" align="center">
<embed id="<?=$w;?>" width="<?=$h;?>" height="<?=$version;?>" wmode="transparent" loop="false" scale="showall" allowscriptaccess="sameDomain" quality="high" bgcolor="<?=$id;?>" name="<?=$w;?>" src="<?=$name;?>" type="application/x-shockwave-flash">
</div>
我做错了什么,感谢任何帮助。
答案 0 :(得分:1)
@SamIAm,您是否确认在本地主机上安装并配置了PHP?当你在测试页面上运行这个脚本时会发生什么?
<?php phpinfo(); ?>
看起来SWF对象正在传递尚未由PHP引擎处理的PHP代码,因此它没有变量。
要确认,请尝试手动将Flash Vars输入localhost上的另一个页面并验证SWFObject是否正确加载,这也应该确认我的理论。