如何在基于ModX的网页中插入动态SWF文件?

时间:2009-07-22 16:47:13

标签: dynamic scripting flash modx

我正在做一个真正的噩梦,试图做一个非常简单的任务。如果我嵌入一个静态或独立的SWF文件,它在我们的ModX驱动的网站上显示正常。但是,当谈到动态SWF(引用XML文件和图像文件等)时,我根本无法让它显示出来。 根据我的Flash菜单程序,我将以下代码粘贴到页面的HEAD部分:

<script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript" src="flying.js"></script>  

(当然这些文件放在根目录中)然后在BODY部分我应该粘贴这个:

<!-- Flash Menu Labs – www.flashmenulabs.com -->
<div id="FlashMenuLabs" style="position:absolute; top:0px; padding-left:0px; z-index:0;">
    You need to upgrade your Flash Player or to allow javascript to enable Website menu. </br>
    <a href="http://www.adobe.com/go/getflashplayer">Get Flash Player</a>            
</div>
< script type="text/javascript">
// <![CDATA[
    var so = new SWFObject("menu.swf", "menu", "185", "440", "8", "#000000");
    so.addVariable("page _ code", "a _ b _ c");

    so.addParam("wmode", "transparent");
    so.addParam("scale", "noscale");
    so.addParam("salign", "TL");
    so.write("FlashMenuLabs");
// ]]>
</script>  

这不起作用。这些文件位于名为icpmenu_es的文件夹(flash的子文件夹)中,这是引用menu.swf的位置。依赖文件(包括XML,PNG和SWF)位于名为menu_data的子文件夹中。有两个XML文件:open_menu_data.xmlmenu_data.xml,我无法编辑后者 然后我在这里尝试了<EMBED>路线:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="185" height="440">  <param name="base" value="http://www.ideal-country-property.com/">  <param name="movie" value="/flash/icpmenu_es/menu.swf">  <param name="id" value="ICPmenuES">  <param name="menu" value="false">  <param name="slalign" value="tl">  <param name="quality" value="high">  <param name="wmode" value="transparent">  <param name="scale" value="noscale">  <embed src="/flash/icpmenu_es/menu.swf" menu="false" quality="high" wmode="transparent" scale="noscale" width=185 height=440 type="application/x-shockwave-flash" id="ICPmenuES" salign="tl" base="http://www.ideal-country-property.com/"  pluginspace="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">  </embed>  </object>`  

这也不起作用。如果有人能帮助我指出正确的方向,那么我将非常感激。在其他论坛上,我看到人们指的是在SWF中编辑XML的引用,但我看不出去哪里做。作为一名新手程序员也无济于事!

2 个答案:

答案 0 :(得分:0)

您是否可以访问Apache日志?

我在过去经历过一些问题,如果modx对文件/文件夹权限不满意(例如,如果它们可以由组写入)那么它就不会显示某些内容,只有Apache日志会对此有所了解。

答案 1 :(得分:0)

Flash路径可能非常棘手。 Flash路径是相对于调用.swf的html而不是.swf所在的位置。 所以,如果你是一个.html,如:

misite.com/news/article.html我从这里使用“/anfolfolderinroot/test.swf”调用.swf你在.swf中的相对路径仍然是misite.com/news /

所以,在.swf中加载没有绝对路径的电影或xml,例如“data.xml”flash将寻找misite.com/news/data.xml

注意使用.html调用中包含的域名的绝对路径,例如“http://www.mydomain.com/media/mymovie.swf”,它可以触发Flash安全警告,并且在访问时无法加载文件没有像“http://misite.com/news/article.html”这样的网址可以避免这种情况。

希望它有所帮助。