SoundCloud跨源请求被阻止在https://l9bjkkhaycw6f8f4.soundcloud.com/v1/events

时间:2016-11-05 23:05:31

标签: javascript soundcloud

我正在尝试使用找到https://www.youtube.com/watch?v=Vwd3pduVGKY的Soundcloud小部件API。

我有我的iframe

<iframe id="SCIframe"></iframe

我收录了剧本

<script src="https://w.soundcloud.com/player/api.js" type="text/javascript"></script>

然后,我在一个函数中执行这个脚本。

var scPlayer;
var iframeSoundcloud = document.getElementById("SCIframe");
iframeSoundcloud.src = "https://w.soundcloud.com/player/?url="+encodeURIComponent(lien);
        scPlayer = SC.Widget("SCIframe");

scPlayer.bind(SC.Widget.Events.READY, function(){
            scPlayer.play();
        });

首次加载页面时,soundcloud歌曲播放效果良好。但是当我再次调用它而不刷新页面时,我得到 跨源请求被阻止:同源策略不允许在here读取远程资源。 (原因:CORS标题&#39;访问控制 - 允许 - 来源&#39;不匹配&#39; &#39;)。* 消息,并且歌曲无法播放。< / p>

为什么?

1 个答案:

答案 0 :(得分:0)

问题来自Iframe。我每次都会生成一个新的iframe,我想播放一首新歌。

var frameSCID = "scIframe"+new Date().getMilliseconds();
        var iframeSC = $('<iframe></iframe>');
        iframeSC.attr({"id":frameSCID, "src":"https://w.soundcloud.com/player/?url="+encodeURIComponent(lien)});

        $("#scIframeContainer").html(iframeSC);
        scPlayer = SC.Widget(frameSCID);

...

如果有人有更好的方法来解决它。我等了