0

私が尋ねた別の質問の解決策として、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].outerHTMLtagdiv

oembed関数によって返される HTML をテキスト文字列として取得するにはどうすればよいですか? div作成されたタグから DOM をトラバースして検索する必要がありますか?

編集: いくつかのアラートを追加しましたが、それはすべてタイミングに関係しています。これはネットワーク呼び出しであるため、.oEmbed 関数は、outerHTML.

編集 2: oEmbed 呼び出しは非同期であるため、これは JS コールバックで解決できるようです。解決策を探す時間ができたら、回答としてここに投稿します。

4

1 に答える 1