jQuery / Safari Show / Скрыть проблему со вспышкой - PullRequest
1 голос
/ 02 июня 2011

Я использую show / hide, чтобы загрузить «загрузочный» флэш-файл, пока загружается форма.

Div, который я пытаюсь показать, содержит файл swf

Это прекрасно работает во всех браузерах, кромеSafari, который не показывает SWF-файл после нажатия кнопки отправки

У меня есть тест, настроенный здесь ... https://www.paydaygap.co.uk/test.php

Я использую ...

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

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

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

});

и скрытый div, который должен отображаться при щелчке .sendform - это ...

<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 голосов
/ 02 июня 2011

На первый взгляд, мне интересно, почему вы используете old-skool для встраивания флэш-памяти, а не для вставки в javascript?

Попробуйте установить вспышку с swfobject или flashhembed (http://flowplayer.org/tools/toolbox/flashembed.html), используя:

flashembed(this, "lightboxform/loading.swf");
0 голосов
/ 02 июня 2011

Я думаю, что другие браузеры не могут отобразить флэш-память, когда контейнер скрыт. Попробуйте вместо этого:

Во-первых, вместо того, чтобы не показывать загрузочный div, установите его абсолютное положение и переместите его со страницы:

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

Тогда попробуйте это:

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