3

iframe から JavaScript を使用して Facebook ウィンドウの高さを取得したいと考えています。ただし、window.innerHeight は iframe の高さを教えてくれます。この問題を解決するにはどうすればよいですか?

4

2 に答える 2

7

Facebook JavaScript SDKを使用している場合は、FB.Canvas.getPageInfo()

FB.Canvas.getPageInfo(
    function(info) {
        console.log('Height: ' + info.clientHeight);
    }
);
于 2012-07-02T14:26:23.363 に答える
0

iframe の親ウィンドウを取得し、代わりにその高さを取得する必要があります。代わりに試すこともできます。そうparent.window.innerHeightすれば、正しい答えが得られるはずです。

以下は、そのドキュメントが iframe を介して別のドキュメントに含まれている場合に機能します。

<script type="text/javascript">
    alert(parent.window.innerHeight);
</script>

これは、クロスドメイン リクエストでは機能しない可能性があることに注意してください。つまり、メイン サイトと同じドメインでホストされていないものを埋め込む場合です。これは、Facebook アプリの場合に当てはまります。

于 2012-07-02T14:17:33.180 に答える