我在相当标准的页面上显示一些Flash内容。当flash,xml文件和html页面位于同一目录中时,这非常有效。
参见工作示例:http://www.rouviere.com/flipbook/
但是,我希望在另一个页面中显示相同的内容,该页面位于站点内部,但位于包含.swf和.xml文件以及资产的目录之外。
以下是我希望内容正确显示的页面:http://www.rouviere.com/writing/books
以下是我设置的参数:
<script type="text/javascript" src="../../flipbook/swfobject.js" charset="utf-8"></script>
<script type="text/javascript" src="../../flipbook/swfaddress.js" charset="utf-8"></script>
<script type="text/javascript">
var flashvars = {
xmlPath: '../../flipbook/setup.xml',
preloaderMessage: 'LOADING XML',
title: 'Books | Rouviere Media'
};
var params = {};
var attributes = {id:'flipbook', name:'flipbook'};
params.scale = "noscale";
params.salign = "tl";
params.bgcolor = "0x000000";
params.allowfullscreen = "true";
params.allowScriptAccess = "always";
swfobject.embedSWF("../../flipbook/preview.swf", "myAlternativeContent", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>
js文件正确加载但闪存内容不正确,所以我可以使用一些帮助来解决这个问题。
感谢。
答案 0 :(得分:1)
您可以尝试在
中插入swfobject代码 $(document).ready(function(){
//Put your code here
})
我还注意到/flipbook/setup.xml上的链接是相对于/ flipbook /你需要使它绝对,以便它可以在两个页面上使用。
当闪存试图加载http://www.rouviere.com/writing/pages/tam_01.jpg时闪存停止,因为应用程序需要一个图像文件,其中该网址将返回网页。
答案 1 :(得分:0)
我的第一个猜测是preview.swf无法找到并加载XML文件。
默认情况下,Flash Player会解析相对于呈现HTML页面的路径,而不是相对于swf文件的位置。您可以使相对路径工作,但我建议在可能的情况下使用服务器根目录的完整路径,例如:
xmlPath: '/flipbook/setup.xml'
...而不是:
xmlPath: '../../flipbook/setup.xml'
另一种可能的解决方案是使用base参数,告诉Flash Player使用哪个路径作为基础,例如:
xmlPath: 'setup.xml'
...
params.base = '/flipbook/'