Iframe 在使用SoundCloud oembed API调用时,如何使高度适合内容?

Iframe 在使用SoundCloud oembed API调用时,如何使高度适合内容?,iframe,soundcloud,oembed,Iframe,Soundcloud,Oembed,我正在API中嵌入一个使用的SoundCloud播放器 首先,关于响应中iframe的高度,文档似乎不正确/过时。文档中提到了maxheight参数: 以px为单位的最大高度。轨迹的默认值为81,所有轨迹的默认值为305 其他的 然而,实际接收到的轨道高度值似乎是166px,集合高度值是450px 现在谈谈我的实际问题: 调用/oembed以获取曲目集/播放列表时,曲目列表下方将有空白。有没有办法消除这个空间?换句话说,我是否可以根据播放列表中的项目数设置接收到的iframe的高度 由于web浏

我正在API中嵌入一个使用的SoundCloud播放器

首先,关于响应中iframe的高度,文档似乎不正确/过时。文档中提到了
maxheight
参数:

以px为单位的最大高度。轨迹的默认值为81,所有轨迹的默认值为305 其他的

然而,实际接收到的轨道高度值似乎是166px,集合高度值是450px

现在谈谈我的实际问题:

调用/oembed以获取曲目集/播放列表时,曲目列表下方将有空白。有没有办法消除这个空间?换句话说,我是否可以根据播放列表中的项目数设置接收到的iframe的高度


由于web浏览器中的同源策略,我不允许检查iframe的内容,因此我自己检查并动态设置高度将不起作用。

感谢您发现错误的措辞。我们会尽快解决这个问题

关于您的问题,是的,您可以在查询中发送
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);
  });

这里有一个工作示例:

谢谢您的回复。嗯,在HTML5小部件中也可以使用maxheight参数,但是因为我事先不知道我想要什么高度,所以问题是相同的。(我真的不想使用Flash小部件。)如果只有oEmbed响应包含一个键/值以及返回的小部件中的列表项目数,我至少可以获取该键/值,计算一个高度,然后再次调用它。/oembed调用的好处在于它接受任何类型的SoundCloud URL;我认为所有API调用都应该允许这样做。我在哪里可以留下这样的功能请求?好的,我知道你的目标是调整小部件,使其具有一定的大小,与曲目数量完全匹配?是的,这正是我想要的:)在不事先知道曲目数量的情况下,我想画一个始终适合所有曲目的高度的小部件,但不高于此值。您可以查询给定播放列表的API,并查看此播放列表有多少首曲目。在默认的缩放级别和字体大小下,其中一项是59px。是的,我想这会起作用,尽管会增加oembed调用接近一行的精确性的复杂性。好的,非常感谢你的帮助!