Я тестирую приложение, и когда я не на вкладке страницы, все в порядке. Мне нужно, чтобы он был шире 520 пикселей. Прежде всего, это код html для установки правильной высоты.
window.fbAsyncInit = function () {
FB.init({
appId: '1428427990741852',
status: true,
cookie: true,
xfbml: true
});
FB.Canvas.setSize({ height: 1100 });
};
// Load the FB 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));
Все в порядке, высота установлена правильно, как вы можете видеть, это iframe
приложения.
<iframe class="smart_sizing_iframe noresize" frameborder="0" scrolling="yes" id="iframe_canvas" name="iframe_canvas_fb_https" src='javascript:""' height="1100" webkitallowfullscreen="" mozallowfullscreen="" oallowfullscreen="" msallowfullscreen="" allowfullscreen="" style="height: 1100px;"></iframe>
Теперь, если мы проверим тот же iframe
после того, как приложение загружено на страницу (в виде вкладки), вот результат.
<iframe name="app_runner_fb_https53cc3ca1018792924747227" id="app_runner_fb_https53cc3ca1018792924747227" style="width: 520px; height: 1100px;" frameborder="0" src="https://s-static.ak.facebook.com/platform/page_proxy/hv09mZVdEP8.js#app_runner_fb_https53cc3ca1018792924747227" class="noresize"></iframe>
Как видите, автоматически устанавливается ширина 520 пикселей.
Я попытался изменить свойство Canvas Fixed Width
на YES, поэтому ширина приложения установлена на 760 пикселей, но я все еще получаю ширину 520 пикселей.
Кроме того, я попытался указать ширину в пикселях прямо в коде FB.Canvas.setSize({ width:760, height: 1100 });
, но все же он застрял на 520 пикселях.
Здесь вы можете увидеть приложение отдельно и в виде вкладки.
Спасибо.
PS. Не уверен, что это имеет значение, но я использую fbootstrap
с сеткой 760/520px, но я предполагаю, что это не имеет ничего общего с самим iframe fb.