jQuery / Safari显示/隐藏flash问题

时间:2011-06-02 12:26:58

标签: jquery flash safari show-hide

我正在使用show / hide在表单加载时加载“加载”Flash文件。

我试图展示的div包含一个swf文件

除了safari之外,所有浏览器都可以正常工作,单击提交按钮后不会显示swf文件

我已经在这里设置了测试...... https://www.paydaygap.co.uk/test.php

我正在使用......

$('#form').show();
$('#loading').hide();

$('.sendform').click(function(){

    $('#form').hide();
    $('#loading').show();

});

和点击.sendform时应显示的隐藏div是......

<div id="loading" style="padding:50px; text-align:center;">
<h1>This thing is loading</h1>
<p>
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="300" height="300" >
    <param name="movie" value="lightboxform/loading.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="transparent" />
    <embed src="lightboxform/loading.swf" width="300" height="300" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" wmode="transparent"></embed>
  </object>
</p>

非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

我认为其他浏览器在隐藏容器时无法呈现闪存。试试这个:

首先,不要显示加载div,而是将其位置设置为绝对位置,然后将其移出页面:

#loading { display:block;position:absolute;left:-9999px;}

然后试试这个:

$('.sendform').click(function(){
    $('#form').hide();
    $('#loading').css({
        'position' : 'relative',
        'left'     : '0px'
    });
});

答案 1 :(得分:0)

乍一看,我想知道你为什么要使用嵌入flash的老式游戏而不是用javascript插入它?

尝试使用swfobject或flashembed(http://flowplayer.org/tools/toolbox/flashembed.html)插入flash:

flashembed(this, "lightboxform/loading.swf");