SoundCloud JS SDK - SC.get在IE9上根本不起作用

时间:2013-03-05 17:31:44

标签: javascript ajax api sdk soundcloud

我正在尝试获取有关此类音轨的信息:

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修复的错误。

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

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

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

同样的问题,为什么原始的bug会发生?为什么有时(但不是所有时间)#recorderFlashContainer会卡在屏幕中间?是否有可以在你身边做些什么来防止它发生?

非常感谢!