Вы используете опцию iframe, верно?Вы говорите о ширине сайта или высоте?Потому что высота может быть сделана динамической.Что касается ширины, я думаю, вам нужен новый стиль (может быть внутри новой таблицы стилей) для этого.
Следующий HTML и Javascript позволяет динамически изменять высоту iframe.Поместите его в свой тег head.
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: 'your_app_id', status: true, cookie: true, xfbml: true});
FB.Canvas.setAutoResize();
};
</script>
Что касается того, как проверить, какой CSS-файл использовать.Вы можете поместить Javascript в fbAsyncInit, чтобы добавить новый файл CSS.Вы также можете проверить, если вы находитесь в iframe (внутри головы):
<script type="text/javascript">
if (top === self) {
document.write('<%= stylesheet_link_tag "application" %>');
} else {
document.write('<%= stylesheet_link_tag "facebook" %>');
}
</script>
Я надеюсь, что это работает для вас.:)