2016-08-17 18 views
1

埋め込みFacebookのビデオのiframeの高さと私のウェブページ上の投稿を取得しようとしています。私は多くの異なる投稿と動画を埋め込んでいるので、私はでiframeの幅を指定していますが、高さはではありません。ビデオについてはFacebookの埋め込み埋め込みFacebookのビデオとポストの高さ

:投稿用

<iframe src="https://www.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2Fbbcnews%2Fvideos%2F10153836161582217%2F&show_text=1&width=560" width="560" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe> 

:ここでのコードのように今

<iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2F9gag%2Fposts%2F10154878302591840&width=500" width="500" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe> 

私は幅のみを指定した場合、私は半分にカットされたのiframeを得ました。 Video example

私の質問は、コンテンツが埋め込まれたビデオと投稿用にがレンダリングされた後に、コンテンツの高さをに取得する方法です。 JavaScriptの方法はありますか?またはおそらく私が使用できるAPIコール?

ありがとうございました。

+0

はそれらを自動的に、高さに適応しないのですか? (あなたが想定しているように、あなたのページに直接iframe要素を置くのではなく) – CBroe

+0

@CBroe iframeを直接使用して、読み込み時間が速くなるようにしたいのですが。 – KChi

+0

まあ、あなたはそれを持つことはできません。 iframeコンテンツは別のドメインから読み込まれるため、その高さを測定するためのアクセス権がありません。あなたがコンテンツの高さに適応させるためには、Facebookの "ヘルプ"が必要です。そのヘルプはJS SDKの形で提供されます。 – CBroe

答えて

-1

iframeのコンテンツが別のドメインにある場合、その内部にアクセスすることはできません。それはクロスサイトスクリプティングです。

ので、最善の解決策は、あなたiframesrcプロパティにクエリ文字列にheightを渡すとその親フレームからあなたiframeの高さを取得することです。以下

例:あなたはJS SDK経由でそれらを埋め込む場合

var elm = document.getElementById('iframeFb'); 
 
console.log('iframe height is: ', elm.height);
<iframe id="iframeFb" src="https://www.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2Fbbcnews%2Fvideos%2F10153836161582217%2F&show_text=1&width=560" width="560" height="315" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>

+0

しかし、異なる投稿は、テキストや文脈の量に応じて異なる高さを持ち、埋め込まれたすべてのコンテンツに同じ高さを設定することは不可能です。私は高さを動的に調整できるように方法を見つけようとしています。 – KChi

+0

@KChiコンテンツに応じて投稿ごとに高さが調整されたiframeコードを作成することを検討してください。それ以外の場合はJS SDKを使用してください。私の答えが役に立つと分かったら、それを投票して感謝の意を表してください:)ありがとう! – GibboK

関連する問題