2011-12-01 127 views
2

在我的Facebook iframe應用程序中,我的主頁有點長(約1500px),但輔助頁面的高度較小。Facebook應用程序高度問題

我發現頁腳和頁面頁腳之間有很多空白。

我檢查了iframe源代碼,發現height屬性設置正確,但在保留主頁高度的style標籤中還有另一個height值。

<iframe class="canvas_iframe_util noresize" frameborder="0" scrolling="no" id="iframe_canvas" name="iframe_canvas" src='javascript:""' height="600px" style="height: 1566px; overflow-y: hidden; "></iframe> 

下面是我使用來調整幀(其是在主頁)

<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
     appId: 'my app', 
     status: true, // check login status 
     cookie: true, // enable cookies to allow the server to access the session 
     xfbml: true// parse XFBML 
    }); 

    FB.Canvas.setAutoResize(7); 

</script> 

我的二級頁面的大小動態代碼,所以不能用一個固定的高度。 任何幫助獲得騎在我的輔助頁面上額外的空白空間是高度讚賞。

感謝

回答

3

我做了一個網站畫布應用程序有一天,我寫了這個小代碼,以高度的問題的關心。

<script> 
    FB.Canvas.setSize({ height: document.getElementById('wrapper').offsetHeight }); 
</script> 

當然這段代碼要求<div id="wrapper"></div>包裝整個頁面。 你必須確保DOM中的所有東西都已經加載,然後再開啓它。這就是爲什麼我把它放在</body>之前。但是,對於未指定高度的圖像,有時會出現一些問題。所以要麼指定所有圖像的高度,要麼在jQuery和document.ready()的幫助下開啓它。

+0

非常感謝! – Tippu

+0

這適用於我的頁面標籤應用程序thx。 – Ryan

1

您可以/應該切換到使用FB.Canvas.setAutoGrow(),因爲FB.Canvas.setAutoResize()將很快被棄用。 可設置:

然後在應用程序設置來設置canvas height選項(默認:800像素)

在您的應用程序,你可以使用FB.Canvas.setAutoGrow()不帶任何參數。我知道這基本上就是你現在正在做的事情,但以我的經驗,這對我來說很好。這也可以解決頁面高度在初始頁面加載後發生變化時的任何問題。