我想用SC.oEmbed播放来自 SoundCloud 的声音。但是当我使用它时,我总是得到ERR_FILE_NOT_FOUND
错误。
我将源代码放在Jsfiddle中:http://jsfiddle.net/n2sVk/,它运行正常。但是当我将其保存为HTML文件并使用Chrome打开时,会发现错误。 源代码如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="UTF-8">
</head>
<body>
<script src="http://connect.soundcloud.com/sdk.js"></script>
<div id="wrap"></div>
<script type="text/javascript">
SC.initialize({
client_id: "c202b469a633a7a5b15c9e10b5272b78",
redirect_uri: "http://connect.soundcloud.com/examples/callback.html"
});
SC.connect(function(){
console.log("connect " + "return");
SC.get("/me", function(me){
console.log("me.username:" + me.username);
console.log("me.description:" + me.description);
SC.get("/tracks", {limit: 1}, function(tracks){
console.log("get track return");
track = tracks[0];
console.log("track.uri: " + track.uri);
console.log("track.title: " + track.title);
SC.oEmbed(track.permalink_url,
{auto_play: true},
document.getElementById("wrap"));
});
});
});
</script>
</body>
以下是Chrome的错误:
获取文件://soundcloud.com/oembed.json?auto_play = true&amp; url = http%3A%2F%2Fsoundcloud.com%2Fyung-crusty-beats%2Fmystic-juice net :: ERR_FILE_NOT_FOUND sdk.js:1 oEmbed响应:null
答案 0 :(得分:1)
这是因为当您在本地测试时,您使用的是“file:///”协议。
图书馆的源代码is using //
代替协议 - 这使图书馆可以同时使用http
和https
。但是,当您从文件而不是Web服务器访问代码时,oembed函数可能无法正常工作。
解决方案是运行本地Web服务器,例如Python simple server,您可以从项目的根文件夹运行该服务器:
python -m SimpleHTTPServer