私は、世界中のユーザーが作成したプロジェクトを表示する Google マップに取り組んでいます。マーカーをクリックすると、インフォボックスが開き、ユーザーに関する情報が表示され、そのインフォボックスのカルーセル内に写真やビデオが表示されます。
だから私はビデオと写真を埋め込む必要があります。Youtube や Vimeo では問題ありませんが、問題は Facebook の動画です。これは、Facebook の動画を埋め込むための JavaScript メソッドを追加する必要があるためです。
含める必要があるスクリプト:
<script type="text/javascript">
$.getScript('//connect.facebook.net/en_US/sdk.js') ;
$.ajaxSetup({ cache: true });
$('#loginbutton,#feedbutton').removeAttr('disabled');
FB.getLoginStatus(updateStatusCallback);
window.fbAsyncInit = function() {
FB.init({
appId : '*******',
xfbml : true,
version : 'v2.3'
});
};
</script>
次に、インフォボックスのコンテンツにあるビデオを再生します。
<div id="fb-root"></div><div class="fb-post" id="video_FB" data-href="https://www.facebook.com/****/videos/ID/"> </div>
Facebookの動画を埋め込む方法を説明するリンクを次に示します。
このビデオを「通常の」HTMLページで再生することに成功しましたが、このjavascriptコードをインフォボックスに接続する方法が見つからなかったため、インフォボックスに配置すると表示されません。また、javascript コードをインフォボックスのコンテンツの外側に配置しただけでは、そうではありません。インフォボックスのコンテンツの先頭に次のように含めようとしました:
var script = document.createElement('script');
script.async = true;
script.src = "facebook_init.js";
$(the_content_of_the_infobox).children("head").append( script );
または、コンテンツ ヘッドにスクリプトを直接含めることによって:
<script type="text/javascript" > code code </script>
これを行うと、スクリプト終了タグの直後に記述したコードが HTML ページに文字通り表示されるという結果が得られます。
jsなしで機能させるものを見つけたので、データベースにあるすべてのFacebookビデオリンクでは機能しません。特定のタイプのURLでのみ機能します
<iframe src="https://www.facebook.com/video/embed?video_id=vid_id/" width="400" height="250" frameborder="0"></iframe>
いくつかのリンクは次のようなものです: https://www.facebook.com/konstantinos.gargas/videos/vb.1065124383/10205486637779746 /videos/ の後に奇妙なものがあり、上記の iframe タグが機能しません:(
誰かが私を助けることができれば、それは素晴らしいことです:)
(私の英語で申し訳ありません、私は私が明確だったことを願っています)