2012-11-12 14 views
0

我在API中嵌入使用/oembed call的SoundCloud播放器。使用SoundCloud oembed API調用時,如何適應內容的高度?

首先,它看起來像文檔是不正確的/過時的iframe響應的高度。該文檔說明了maxheight參數:

px中的最大高度。其他的默認值爲81,其他的爲 。

但是,它看起來像實際接收的高度值爲166px的曲目和450px的集合。

現在我實際的問題:

致電時/透過oEmbed一組/播放列表,將有曲目列表下方的空白區域。有沒有辦法消除這個空間?換句話說,我能以某種方式根據播放列表中的項目數來設置收到的iframe的高度嗎?

由於Web瀏覽器中的同源策略,我無法檢查iframe的內容,因此自行檢查並動態設置高度將不起作用。

回答

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

+0

感謝您的答覆。那麼maxheight參數也可以在HTML5控件中使用,但是由於我事先並不知道我想要的高度,所以問題是一樣的。 (而且我真的不想使用Flash小部件。)如果只有oEmbed響應包含返回小部件中列表項數量的鍵/值,我至少可以獲取它,計算一個高度,然後調用它再次。/oembed調用的好處在於它需要任何類型的SoundCloud URL;我認爲所有API調用都應該允許。我可以在哪裏離開這樣的功能要求? –

+0

我編輯了我的回覆,因爲我先錯了,對不起。 –

+0

好的,我知道您的目標是調整小工具,以便它具有與磁道數量完全匹配的一定大小? –

相關問題