0

我正在尝试获取有关轨道的信息,如下所示:

SC.get('/tracks/15158492', {limit: 1}, function(track) { console.log(track); });

这适用于所有真正的网络浏览器,但 Internet Explorer 不会让步。我怀疑这个问题与 ajax 调用有关,根据 IE dev-tools 中的 Network 选项卡,没有任何问题(如果你相信它所说的任何内容)。

我在 Google 网上论坛上只找到了一篇相关的帖子,有点老(且未解决):https ://groups.google.com/forum/?fromgroups=#!topic/soundcloudapi/GuiKpbxHIWU

另外,我知道我可以使用自己的 ajax 请求直接访问 API,但我正在寻找一种更简单的解决方案,或者至少了解为什么 SDK 不能工作,它只是我还是它需要由 SoundCloud 修复的错误。

任何帮助将非常感激。谢谢!

4

2 回答 2

0

有没有可能开启兼容模式?

以下代码适用于 Windows 7 上的 IE9

<script src="//connect.soundcloud.com/sdk.js"></script>
<script>
  SC.initialize({
    client_id: "YOUR_CLIENT_ID",
    redirect_uri: "http://example.com/callback.html",
  });
  SC.get("/groups/55517/tracks", {limit: 1}, function(tracks){
    alert("Latest track: " + tracks[0].title);
  });
</script>

这是一个示例代码 - http://jsbin.com/erokoz/3/edit

于 2013-03-06T09:31:26.487 回答
0

是我的错误导致了这个问题。前段时间我遇到了一个不同的问题,有时在 IE 上,一个 div ( #recorderFlashContainer) 会无缘无故地出现在屏幕中间。我知道这是在 IE 极端条件下进行的通信的一部分,但这是一个有问题的 UI 错误。为了解决这个问题,我在元素上添加了一个 CSS 规则声明display: none,从而导致 IE 无法在其中加载object元素,这导致 SDK 的一些功能失败。

我使用另一个 CSS 规则修复了它,声明:

/* SoundCloud Fix for IE9 */
#recorderFlashContainer {
    position: absolute;
    top: -9999px!important;
    left: -9999px!important;
}

因此,非常感谢您的帮助,让我意识到这是我正在做的事情导致了这个问题。

同样的问题,为什么会发生原来的错误?为什么有时(但不是一直)#recorderFlashContainer会卡在屏幕中间?有什么可以在你身边做的事情来防止它发生吗?

非常感谢!

于 2013-03-07T10:27:16.683 回答