[英]Has FB.Canvas.setAutoResize() stopped working for anyone else?
[英]facebook javascript SDK: FB.Canvas.setAutoResize iFrame not working?
我們使用ruby / rails和facebooker(iframe應用程序)構建了一個facebook應用程序,目前仍然使用FB.Canvas.setAutoResize,在某些情況下似乎失敗了。 使用來自facebook developer docs的示例(請參閱http://developers.facebook.com/docs/reference/javascript/ )。 一旦你進入一個高於800px的頁面,autoresize就會失敗 - 所以說,只要畫布變大,它就會起作用,而不是當它變小時。 任何人都有線索或解決方法嗎?
這是調整大小的代碼片段
<div id="fb-root" style="width:1px;height:1px;position:absolute;"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: '126342024064822', status: true, cookie: true, xfbml: true});
FB.Canvas.setAutoResize(true,100);
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
我非常感謝任何評論或提示,因為我現在已經超過一天了。
要確保的一些關鍵事項在應用程序設置中設置:
接下來通過添加超時來調整代碼(250似乎效果最好,但您可能想要進行實驗)。 我在FF3.6和IE7 +中測試了這個。 在IE中,有一個垂直滾動條的瞬間閃爍,我仍然試圖修復。
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: '12345678910', status: true, cookie: true, xfbml: true});
window.setTimeout(function() {
FB.Canvas.setAutoResize();
}, 250);
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
解決方案很簡單! 除了放FB.Canvas.setAutoResize()
你必須改變你的身體樣式=“溢出:隱藏”
這個對我有用! 現在ie8還可以!!
我還想指出,你確實需要你的
<div id="fb-root">
為此工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.