Я создаю приложение холста Facebook для загрузки в iframe.FB.Canvas.setSize() выглядит не работающим в Safari и Chrome. Как заставить его работать?
Высота содержимого может отличаться из-за динамических данных, загружаемых там, и их нельзя установить заранее. Холст должен изменить размер, чтобы он соответствовал содержимому автоматически. Мне нужно избавиться от вертикальной полосы прокрутки в iframe во всех современных браузерах.
Я установил «Холст Высота: Зафиксировано 800px» в расширенных настройках приложения и использовать раствор с FB.Canvas.setSize(), который рекомендуется:
<body>
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId: 'NNNN', // My App ID is placed here
status: true,
cookie: true,
xfbml: true
});
FB.Canvas.setSize();
FB.Canvas.setAutoGrow(7);
};
function sizeChangeCallback() {
FB.Canvas.setSize();
}
// Load the SDK Asynchronously
(function (d) {
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = d.location.protocol + "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
} (document));
...
</script>
...
</body>
Он отлично работает в Firefox, MSIE 9 и Opera. Но он не работает в браузерах WebKit в Windows: Safari и Chrome.
Safari отображает следующий код для холста фрейма:
<iframe class="canvas_iframe_util noresize" frameborder="0" scrolling="no" id="iframe_canvas" name="iframe_canvas" src='javascript:""' height="800" style="height: 800px; overflow-y: hidden; "></iframe>
Что я делаю неправильно? Можно ли одновременно работать в Firefox, MSIE, Opera, Safari и Chrome?
Спасибо! Я тоже пробовал этот вариант. Но он также работает в Firefox, но не в Safari и Chrome. –
Он работает для меня в Safari (5.1.1) на Mac, что заставляет меня задаться вопросом, не проблема ли в другом месте для вас - может быть, вопрос времени? Выполняется ли вызов FB setAutoGrow() * до того, как вы закончили динамическое внесение содержимого страницы? Просто мысль, извините, я не могу больше помогать. – Snouto
Теперь я использую Safari 5.1.5 для Windows. –