FB应用程序进入Tab的宽度不超过520px

时间:2014-07-20 22:21:38

标签: facebook iframe facebook-tabs

我正在测试一个应用,当不在页面选项卡上时,它没问题。我需要它比520px宽。 首先,这是用于设置正确高度的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>  

如您所见,自动设置了520px的宽度 我尝试将Canvas Fixed Width属性更改为YES,因此应用的宽度设置为760px,但我的宽度仍为520px。

另外,我已尝试在代码FB.Canvas.setSize({ width:760, height: 1100 });中强制使用宽度px,但仍然在520px中加入。

在这里,您可以单独查看应用程序,并将其作为选项卡 感谢。

TAB
Alone

PS。不确定这是否有价值,但我使用的fbootstrap有一个760 / 520px网格系统,但我认为它与fb的iframe本身无关。

1 个答案:

答案 0 :(得分:1)

检查应用设置中页面选项卡的设置,将其添加为&#34;平台&#34; (https://developers.facebook.com/apps/[your-app-id]/settings/)。有一个带有以下文字的开关:&#34;宽页面标签?&#34;将那一个切换为&#34; YES&#34;你的标签应该是810px。