0

API で/oembed 呼び出しを使用して、SoundCloud プレーヤーを埋め込んでいます。

まず第一に、応答の iframe の高さに関して、ドキュメントが正しくない/古くなっているようです。ドキュメントには、maxheightパラメーターについて次のように記載されています。

px 単位の最大高さ。デフォルトは、トラックの場合は 81、その他すべての場合は 305 です。

ただし、実際に受け取った高さの値は、トラックの場合は 166px、セットの場合は 450px のようです。

今、私の実際の質問に:

セット/プレイリストに対して /oembed を呼び出すと、トラック リストの下に空きスペースができます。このスペースをなくす方法はありますか?つまり、プレイリスト内のアイテムの数に基づいて、受信した iframe の高さを何らかの方法で設定できますか?

これを自分で確認して高さを動的に設定しても機能しません。これは、Web ブラウザーの同一オリジン ポリシーにより、iframe の内容を検査することが許可されていないためです。

4

1 に答える 1

0

不適切な表現を見つけていただきありがとうございます。これはできるだけ早く修正します。

あなたの質問に関しては、はい、maxheightクエリでパラメーターを送信し、それを自分にとって意味のあるものに設定できます。

現在のプレイリストのキャプションを合わせた「現在再生中のサウンド」の高さは 196px であるため、すべてのサウンドがリストされているスクロール可能な領域の高さを、たとえば 100px にするには、次のようにします。

var div = document.createElement('div');

$.get(
  'http://soundcloud.com/oembed?' + 
  'url=http://soundcloud.com/eric' + 
  '&format=json&maxheight=296'
)
  .done(function (response) {
    div.innerHTML = response.html;
    document.body.appendChild(div);
  });

これが実際の例です: http://jsbin.com/aduxex/1/edit

于 2012-11-12T14:29:09.993 に答える