当我的xml和swf文件位于与html文件相同的目录中时,下面的代码可以工作。但是,当我将两个文件移动到子目录时,什么也没有显示。我试过使用绝对路径,但运气不太好。请帮助。
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="110" height="110" bgcolor="#f0eee1">
<param name="movie" value="flash/Main.swf?xml_path=flash/Settings.xml" />
<param name="quality" value="high" />
<embed src="flash/Main.swf?xml_path=flash/Settings.xml" quality="high" width="110" height="110" bgcolor="#f0eee1" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
Flash将尝试将任何相对路径解释为相对于HTML文件。如果要我猜的话,Flash放错了XML文件的位置。
如何添加一个base
属性到您的object
和embed
标签?base
将允许您指定相对链接应该相对于哪里;在这种情况下,您可以提供子目录的绝对路径,然后Flash将开始在那里查找XML文件。
这是Adobe关于base
的文章以及如何开始使用它