私が尋ねた別の質問の解決策として、jquery-oembed-allをテストしています。このスクリプトは、ページにロードされる小さな JavaScript ファイルであり、メディア埋め込みコードをフェッチする機能を提供します。oembed
次のように、リンクから簡単に oEmbed iframe を取得しています。
<script>
$(function(){
tag = $(document.createElement('div')).oembed('https://vimeo.com/40179668');
$('.header').append(tag);
});
</script>
これはうまく機能し、oEmbed で生成された iframe 要素を.header
ページに追加します。ただし、生成された HTML は文字列として必要です。スクリプトで作成された元の空であることが明らかにtag[0].outerHTML
なりましたが、埋め込まれたビデオがページに読み込まれるため、明らかにすべての埋め込みコードが含まれています。tag[0].parent()[0].outerHTML
tag
div
oembed
関数によって返される HTML をテキスト文字列として取得するにはどうすればよいですか? div
作成されたタグから DOM をトラバースして検索する必要がありますか?
編集:
いくつかのアラートを追加しましたが、それはすべてタイミングに関係しています。これはネットワーク呼び出しであるため、.oEmbed 関数は、outerHTML
.
編集 2: oEmbed 呼び出しは非同期であるため、これは JS コールバックで解決できるようです。解決策を探す時間ができたら、回答としてここに投稿します。