Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Facebook选项卡应用程序画布高度-firefox问题_Javascript_Html_Facebook Apps_Facebook Canvas - Fatal编程技术网

Javascript Facebook选项卡应用程序画布高度-firefox问题

Javascript Facebook选项卡应用程序画布高度-firefox问题,javascript,html,facebook-apps,facebook-canvas,Javascript,Html,Facebook Apps,Facebook Canvas,我构建了一个应用程序,用作页面中的选项卡。 由于内容太长,我需要设置iframe高度,这样就没有滚动条了。 我的问题是,它在chrome&ie中运行良好,但在firefox中却不行。 以下是我所做的: <?php $signed_request = $_REQUEST["signed_request"]; list($encoded_sig, $payload) = explode('.', $signed_request, 2); $data = json_dec

我构建了一个应用程序,用作页面中的选项卡。
由于内容太长,我需要设置iframe高度,这样就没有滚动条了。
我的问题是,它在chrome&ie中运行良好,但在firefox中却不行。
以下是我所做的:

<?php
    $signed_request = $_REQUEST["signed_request"];
    list($encoded_sig, $payload) = explode('.', $signed_request, 2);
    $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
?>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <style type="text/css">
      * {
            padding:0; margin:0; border: none; outline:none
        }
    </style>

</head>
<body style="width:520px; overflow:hidden">
<?php
     if (empty($data["page"]["liked"])) {
        echo "<img src=\"img/blur.jpg\" />";
    }
    else {
        echo "<img src=\"img/fan.jpg\" />";
    }
?>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
    FB.init({
    appId : 'xxx_app_id',
    status : true,
    cookie : true,
    xfbml : true
});
</script>
<script type="text/javascript">
    window.fbAsyncInit = function() {
         FB.Canvas.setSize({ width: 520, height: 3591 });
    }
    function sizeChangeCallback() {
        FB.Canvas.setSize({ width: 520, height: 3591 });
     }
</script>
</body>
</html>

* {
填充:0;边距:0;边框:无;轮廓:无
}
FB.init({
appId:'xxx_app_id',
状态:正确,
曲奇:是的,
xfbml:对
});
window.fbAsyninit=函数(){
FB.Canvas.setSize({宽度:520,高度:3591});
}
函数sizeChangeCallback(){
FB.Canvas.setSize({宽度:520,高度:3591});
}
此外,我已经做了3-4次完全相同的应用程序,而且都成功了,所以现在我只是更改了要显示的图像。

查看Firebug控制台,我没有看到任何错误,检查应用的css(再次来自Firebug),我看到了iframe 800px的高度。

好的,显然从未调用过fbAsyncInit,因此我通过手动调用该方法修复了此问题,如下所示:

<script type="text/javascript">
    window.fbAsyncInit = function() {
         FB.Canvas.setSize({ width: 520, height: 3591 });
    }
    function sizeChangeCallback() {
        FB.Canvas.setSize({ width: 520, height: 3591 });
    }
    window.fbAsyncInit();
</script>

window.fbAsyninit=函数(){
FB.Canvas.setSize({宽度:520,高度:3591});
}
函数sizeChangeCallback(){
FB.Canvas.setSize({宽度:520,高度:3591});
}
fbAsyninit();
现在一切正常。
如果有人知道为什么只有在ff和这个应用程序中才会出现这种情况(正如我在问题中所说的,我已经构建了3-4次完全相同的应用程序,只使用了不同的图像和文本),我希望在这里分享…

另请参阅