0

私は jquery を使用してタブ メカニックに取り組んでいます...コンテンツの表示と非表示のメカニクスは問題ではありません。しかし、SWF がタブでどのように動作するかは... Firefox ではそうです。Chrome と Safari では問題なく動作します。タブをクリックすると、swf が表示され、最初から再生されます。別のタブをクリックしてから前のタブに戻ると、フラッシュ コンテンツが再読み込み/再起動します。

ただし、私の問題はFirefoxにあります。同じようには機能しません...タブをクリックすると、swfが表示されますが、おそらくページが読み込まれたときにすでに開始されていました。別のタブをクリックして前のタブに戻ると、Flash コンテンツが引き継がれます。

タブをクリックするとタブの SWF コンテンツが開始/再ロードされ、別のタブをクリックするとアンロードされるようにするにはどうすればよいですか。

私のコードは標準のjqueryタブコードです...

    <div id="tabs" class="flashes">
        <h3>Online Advertising</h3>
    <ul>
        <li><a href="#fragment-1"><img src="thumb1.jpg"/></a></li>
        <li><a href="#fragment-2"><img src="thumb2.jpg"/></a></li>
        <li><a href="#fragment-3"><img src="thumb3.jpg"/></a></li>
    </ul>
    <div id="fragment-1">
        <p>content in a tab</p>
    </div>
    <div id="fragment-2">
      <div class="mpu"> 
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
width="300" height="250" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,40,0"><param name="allowscriptaccess" value="always" />
<param name="src" value="300x250.swf" />
<param name="allowfullscreen" value="true" />
<embed type="application/x-shockwave-flash" width="300" height="250" 
src="300x250.swf" allowfullscreen="true" allowscriptaccess="always">
</embed>
</object>
    </div> </div>
    <div id="fragment-3">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
sed diam nonummy nibh   euismod tincidunt ut laoreet dolore 
magna aliquam erat volutpat.
        Lorem ipsum dolor sit amet, consectetuer 
    </div>
    </div>

私が持っている唯一の余分なコードは、ページの読み込み時にタブを開かないようにすることです

 <script>
    $(document).ready(function(){
    $("#tabs").tabs({
        collapsible: true,
        selected: -1
    });

    }); 
    </script>

誰かがこれを解決する方法を共有できれば素晴らしいことです。

ありがとう

4

1 に答える 1

0

これを試して

$(document).ready(function(){
    $("#tabs").tabs({
        collapsible: true,
        selected: -1,
        select: function(evt,ui){
           var flashObj = $(ui.panel).find("object");
           if(flashObj.length > 0) {
              $(ui.panel).find("object").remove();
              $(ui.panel).append(flashObj);
           }
        }
    });
}); 
于 2012-06-18T16:58:14.527 に答える