2014-07-20 50 views
1

我正在測試一個應用程序,而不是在頁面的選項卡上沒事。我需要它比520px更寬。首先,這是用於設置適當高度的html代碼。FB應用程序進入製表符不會超過520px寬度

window.fbAsyncInit = function() { 
     FB.init({ 
      appId: '1428427990741852', 
      status: true, 
      cookie: true, 
      xfbml: true 
     }); 

     FB.Canvas.setSize({ height: 1100 }); 
    }; 

    // Load the FB SDK Asynchronously 
    (function (d) { 
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) { return; } 
     js = d.createElement('script'); js.id = id; js.async = true; 
     js.src = "//connect.facebook.net/en_US/all.js"; 
     d.getElementsByTagName('head')[0].appendChild(js); 
    } (document)); 

這是確定的,高度設置正確,你可以看到的是應用程序的iframe

<iframe class="smart_sizing_iframe noresize" frameborder="0" scrolling="yes" id="iframe_canvas" name="iframe_canvas_fb_https" src='javascript:""' height="1100" webkitallowfullscreen="" mozallowfullscreen="" oallowfullscreen="" msallowfullscreen="" allowfullscreen="" style="height: 1100px;"></iframe> 

現在,如果我們檢查程序後相同iframe是一個頁面內加載(如標籤),結果如下。

<iframe name="app_runner_fb_https53cc3ca1018792924747227" id="app_runner_fb_https53cc3ca1018792924747227" style="width: 520px; height: 1100px;" frameborder="0" src="https://s-static.ak.facebook.com/platform/page_proxy/hv09mZVdEP8.js#app_runner_fb_https53cc3ca1018792924747227" class="noresize"></iframe> 

正如你所看到的,有520px的寬度自動設置。
我已經嘗試將Canvas Fixed Width屬性更改爲YES,因此該應用的寬度設置爲760像素,但仍得到520像素的寬度。

此外,我試着在代碼FB.Canvas.setSize({ width:760, height: 1100 });中強制寬度的px,但仍然是在520px中填充。

在這裏,您可以單獨看到應用程序並將其作爲選項卡。
謝謝。

TAB
Alone

PS。不知道這是否有價值,但我使用fbootstrap其中有一個760/520px網格系統,但我認爲與fb的iframe本身無關。

回答

1

檢查應用程序設置中「頁面」選項卡的設置,將其添加爲「平臺」(https://developers.facebook.com/apps/[your-app-id]/settings/)。有一個包含以下文字的開關:「寬頁面選項卡?」將其中一個切換到「YES」,你的Tab應該是810px。

+0

謝謝,它就在那裏。一個人躲在樹後面看不到樹林!再次感謝。 –