0

我已經完成了自己的功課,並完成了要求將我的頁面高度設置爲在我的iFrame中的高度。Page選項卡iframe僅在一半瀏覽器中工作

它工作在Firefox(7+至少),IE9 在Chrome,Safari瀏覽器,IE8/7和Opera不工作... http://www.facebook.com/pages/Brunet/190517411026916?sk=app_136821946424212

的代碼是這樣的:

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : '136821946424212', // App ID 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     oauth  : true, // enable OAuth 2.0 
     xfbml  : true // parse XFBML 
    }); 

    // Additional initialization code here 
    FB.Canvas.setSize({width: 520, height: 1625}); 
    }; 
    // Load the 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)); 
</script> 

所有的文檔和幫助指出這個代碼工作...我錯過了什麼?

+0

它是不是調整大小,或調整大小,但仍然離開滾動條? 1625是你的頁面的確切像素高度?我發現你必須填充20px左右以防止滾動條,所以如果這是問題,請嘗試1650px。 –

+0

在Firefox 7/8和Ie9以外的其他瀏覽器中,它根本無法調整大小,裁剪頁面(沒有滾動條,女巫是正常的,我告訴他溢出:隱藏在身上) – Xagone

+0

我不能任何理由該代碼不應該工作,但爲了調試我會嘗試以下方法:1)在'FB.Canvas.setSize'調用之後放置一個'alert',以確保它實際上正在執行; 2)刪除整個'FB.init'調用(不需要調整大小); 3)暫時消除頁面上的所有CSS(具有固定高度的東西可能會丟掉東西,並且具有滾動條可以幫助查看實際可能正在改變的iframe本身的高度)。 –

回答

0

您的代碼在Chrome中適用於我,因此我不確定問題出在哪裏。這可能是值得嘗試一種不同的安排,使用onload事件而不是fbAsyncInit:

<head> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script type='text/javascript'> 
window.onload=function() { 
    FB.Canvas.setSize({width:520,height:1650}); 
} 
</script> 
</head> 
相關問題