2010-10-06 88 views
1

我有一個Facebook的按鈕(iFrame版),覆蓋在一個完整的瀏覽器Flash應用程序的頂部。類似的按鈕被連接到應用程序中的單獨圖像,並且當每個新圖像被顯示時,類似的按鈕被使用ExternalInterface的數據刷新。問題與Facebook Facebook按鈕喜歡在Windows中的按鈕火狐

類似按鈕使用JQuery fadeIn()/ fadeOut()再次使用ExternalInterface調用每個新圖像淡入和淡出。

我遇到的問題是,在Windows上,這似乎並不想工作,在Firefox具體...

CSS:

 html { 
      height: 100%; 
      overflow: hidden; 
      min-width: 800px; 
      min-height: 600px; 
     } 
     #flashContent { 
      position: absolute; 
      top: 0px; 
      left: 0px; 
      height: 100%; 
      width: 100%; 
      z-index: 1; 
     } 
     body { 
      margin: 0; 
      padding: 0; 
      background-color: #000000; 
     } 
     #fb-like { 
      position: absolute; 
      bottom: 32px; 
      left: 510px; 
      width: 280px; 
      z-index: 9999; 
      display: none; 
     } 

FB樣是包含在div iFrame,它的z-index是9999,只是爲了確保它始終處於頂端。

這裏是正在使用的JS:

<script type="text/javascript"> 

    var isVisible = false; 

    function showLikeButton(visible){   

     if(visible == true) 
     { 
      $('#fb-like').fadeIn('slow'); 

      isVisible = true; 

     } 
     else if (isVisible) 
     { 
      $('#fb-like').fadeOut('slow'); 

      isVisible = false; 

     } 
    } 

    var begOfUrl = "http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fmywebsite.com%2fdirectory"; 
    var endOfUrl = "&amp;layout=button_count&amp;show_faces=false&amp;width=150&amp;action=like&amp;colorscheme=dark&amp;height=21"; 

    function sendIdToLikeButton(title, id){     
     $('#facebook-like').attr('src', begOfUrl + "%3Fid=" + id + endOfUrl); 
    } 

</script> 

其中sendIdToLikeButton方法正在使用ExternalInterface的重新創建的iFrame的src屬性從Flash發送的照片的ID。

,當然還有,因爲這是一個Flash應用程序,這裏是最小的HTML:

<body> 

<div id="fb-like"> 
     <iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fnfb.designaxiom.com/build13&amp;layout=button_count&amp;show_faces=false&amp;width=150&amp;action=like&amp;colorscheme=dark&amp;height=21" scrolling="no" frameborder="0" style="position: absolute; border:none; overflow:hidden; width:300px; height:40px;" allowTransparency="true" id="facebook-like"></iframe> 
    </div> 
    <div id="flashContent"> 
     <a href="http://www.adobe.com/go/getflashplayer"> 
      <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /> 
     </a> 
    </div> 
</body> 

同樣,該作品無處不在,除了火狐在Windows中,我不知道該怎麼辦纔好。我假設它是在CSS或JavaScript的錯誤的地方。

任何幫助,非常感謝。

在此先感謝。

語法

回答

2

在終了幾個星期之後,我終於明白了這一點。事實證明,問題出在iframe被置於Flash內容之上。

 var params = {}; 
     params.bgcolor = "#000000"; 
     params.allowfullscreen = "true"; 
     params.allowscriptaccess = "true"; 
     params.wmode = "transparent"; 

     var attributes = { id: "nfb", name:"nfb" }; 
     var swfUrl = "Runner.swf"; 

     swfobject.embedSWF(swfUrl, "flashContent", "100%", "100%", "10.0.0", false, flashvars, params, attributes); 

設置允許的「透明」 iframe中的wmode透明放置在應用程序的頂部:設置的wmode透明 -

這是通過添加參數去的SWFObject的呼叫解決每個瀏覽器。

因此,事實證明,這不是一個與facebook像按鈕的問題,但與iframes和Flash。當然,如果您不使用SWFObject來顯示swf文件,則wmode是一個參數,可以在您發佈swfs時在Flash的發佈屬性中進行設置。

乾杯