Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 奇怪的Firefox SWFObject显示问题_Javascript_Flash_Firefox_Joomla_Swfobject - Fatal编程技术网

Javascript 奇怪的Firefox SWFObject显示问题

Javascript 奇怪的Firefox SWFObject显示问题,javascript,flash,firefox,joomla,swfobject,Javascript,Flash,Firefox,Joomla,Swfobject,我在开发一个网站时遇到了最奇怪的问题。在主页上我有一个flash幻灯片,它在IE中显示得很好。但是它没有出现在Firefox中,而是留下了一个空白 我正在使用SWFObject显示闪光灯。我知道它至少会在保留图像被移除时开火。但是,如果我右键点击白色区域,我会得到一个HTML上下文菜单,而不是一个flash菜单,这表明它甚至没有将flash对象写入页面,更不用说加载flash SWF文件了 如果我将主页的源代码保存为静态HTML,并将其上传到服务器上,它就可以正常工作 这可能与文件编码或http

我在开发一个网站时遇到了最奇怪的问题。在主页上我有一个flash幻灯片,它在IE中显示得很好。但是它没有出现在Firefox中,而是留下了一个空白

我正在使用SWFObject显示闪光灯。我知道它至少会在保留图像被移除时开火。但是,如果我右键点击白色区域,我会得到一个HTML上下文菜单,而不是一个flash菜单,这表明它甚至没有将flash对象写入页面,更不用说加载flash SWF文件了

如果我将主页的源代码保存为静态HTML,并将其上传到服务器上,它就可以正常工作

这可能与文件编码或http头有关吗

我尝试过很多事情,比如删除内容、JS、CSS等。文件的静态版本可以工作,但服务器驱动的版本不行,这让我抓狂

服务器正在运行Joomla CMS

代码是:

<script type="text/javascript" src="/scripts/swfobject.js"></script>
<script type="text/javascript">swfobject.embedSWF("/flash/loader.swf", "flashContent", "960", "310", "9.0.0", "/flash/expressInstall.swf");</script>

swfobject.embeddeswf(“/flash/loader.swf”、“flashContent”、“960”、“310”、“9.0.0”、“/flash/expressInstall.swf”);
HTML代码:

<div class="middle" id="flashContent">
<img class="panelBgImage" src="/images/main/Home.jpg" title="Home"/>
</div>

可查看网站的临时版本@(有效期至2009年8月6日)

提前谢谢


把脚本放在页面的开头部分当然可以帮我解决这个问题。然而,我在过去看到过flash、firefox和swf的问题。我绕过它的唯一方法是重新安装flash:(


我认为它在其他浏览器中运行良好?

您尝试过动态方法吗?


此外,firebug的网络面板告诉您什么?它是否显示文件请求?如果是,服务器响应是什么?

您尝试过动态方法吗?


另外,firebug的网络面板告诉你什么?它是否显示了对文件的请求?如果是,服务器的响应是什么?

在过去的一天半时间里,我遇到了一个类似的问题,我找到了答案。swfobject.embedSWF应该在文档的开头部分(我猜这对Joomla来说是不可能的)。如果无法将其移动到那里,则存在。您可以添加这行代码:

swfobject.switchOffAutoHideShow();

就在您的swfobject.embedSWF

之前的一天半时间里,我遇到了一个类似的问题,我已经找到了答案。swfobject.embedSWF应该在文档的开头部分(我猜Joomla不可能这样做)。如果您无法将它移到那里,则会出现一个问题。您可以添加这行代码:

swfobject.switchOffAutoHideShow();

就在你的swfobject.embedSWF

之前,哦,我的天啊。在firefox中尝试使用swfobject显示flash浪费了2-3个小时,我终于解决了这个问题——但没有Armitage的帮助。 我唯一想说的是,我最终只需要把这条线:

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

节点中,swfobject.embedSWF()行和所有自定义代码都不需要位于那里

另外--我现在不能评论(关于排名的事情)…但是如果可以的话我会的。
谢谢Armitage!+1

哦,我的天啊。在firefox中尝试使用swfobject显示flash时浪费了2-3个小时,我终于解决了这个问题——但没有Armitage的帮助是不行的。 我唯一想说的是,我最终只需要把这条线:

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

节点中,swfobject.embedSWF()行和所有自定义代码都不需要位于那里

另外--我现在不能评论(关于排名的事情)…但是如果可以的话我会的。
谢谢阿米蒂奇!+1有同样的问题,但这里的一个答案很有帮助。可能会帮助其他人

registerObject需要位于head标记中

但是,我的代码将它放在那里…我在打开html标记之前向页面写入调试消息。如果查看页面源代码(例如右键单击),registerObject位于head标记中

但是,因为我在registerobject之前编写了一条调试消息,Firefox关闭了head标记并将registerobject移动到body。通过查看Firebug发现了这一点,Firebug显示了不同的html代码布局


删除了调试消息,它正常工作。又浪费了一个小时…

也有同样的问题,但此处的一个答案有帮助。可能会帮助其他人

registerObject需要位于head标记中

但是,我的代码将它放在那里…我在打开html标记之前向页面写入调试消息。如果查看页面源代码(例如右键单击),registerObject位于head标记中

但是,因为我在registerobject之前编写了一条调试消息,Firefox关闭了head标记并将registerobject移动到body。通过查看Firebug发现了这一点,Firebug显示了不同的html代码布局

删除了调试消息,它成功了。又浪费了一个小时…

真奇怪! 我使用registerObject发现了同样的问题,这在IE中是正常的,但在FF3.5中不是, 又浪费了3个小时,谢谢你们把

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>

在头脑中,它将被解决。

这太奇怪了! 我使用registerObject发现了同样的问题,这在IE中是正常的,但在FF3.5中不是, 又浪费了3个小时,谢谢你们把

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>


在head中,它将被解决。

我也有同样的问题,但这是一个母版问题。菲尔给了我线索。我的标签中有以下内容:

    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>

    <script type="text/javascript">
    // <![CDATA[

        var flashvars = {};
        var params = {};
        params.wmode = "opaque";
        params.scale = "exactFit";
        var attributes = {};
        swfobject.embedSWF("RainbowWishBackgroundText.swf", "flashTarget", "100%", "870", "9.0.0", "expressInstall.swf", flashvars, params, attributes);

    // ]]>
    </script>

// 
我把它改成:

    <script type="text/javascript">
    // <![CDATA[

        var flashvars = {};
        var params = {};
        params.wmode = "opaque";
        params.scale = "exactFit";
        var attributes = {};
        swfobject.embedSWF("RainbowWishBackgroundText.swf", "flashTarget", "100%", "870", "9.0.0", "expressInstall.swf", flashvars, params, attributes);

    // ]]>
    </script>

    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>

// 

现在它工作了!

我也有同样的问题,但这是母版页问题。菲尔给了我线索。我的标签上有以下内容:

    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>

    <script type="text/javascript">
    // <![CDATA[

        var flashvars = {};
        var params = {};
        params.wmode = "opaque";
        params.scale = "exactFit";
        var attributes = {};
        swfobject.embedSWF("RainbowWishBackgroundText.swf", "flashTarget", "100%", "870", "9.0.0", "expressInstall.swf", flashvars, params, attributes);

    // ]]>
    </script>

// 
我把它改成:

    <script type="text/javascript">
    // <![CDATA[

        var flashvars = {};
        var params = {};
        params.wmode = "opaque";
        params.scale = "exactFit";
        var attributes = {};
        swfobject.embedSWF("RainbowWishBackgroundText.swf", "flashTarget", "100%", "870", "9.0.0", "expressInstall.swf", flashvars, params, attributes);

    // ]]>
    </script>

    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>

// 

现在它可以工作了!

我在WordPress中使用swf文件时遇到了这个问题

swf文件只有在FF 3.5中没有加载时才有问题

我补充说:

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

到theme的header.php,它也为我解决了这个问题

swf是使用Flash Builder 4创建的。

I