Firefox中的Soundcloud嵌入问题

时间:2016-07-20 11:50:32

标签: javascript html5 embed soundcloud jsfiddle

我一直致力于一个需要嵌入Soundcloud歌曲的项目。如果我尝试在Chrome中打开页面,一切正常,但在Firefox中,它只显示一个灰色框,中间有Soundcloud徽标。

我试图调试它,这就是我在Firebug中看到的内容。当我打开页面时,它会显示

TypeError: this.getFlashPlugin(...).match(...) is null

Error: Permission denied to access property "href"

我从2天开始一直在寻找它,我几乎得出结论,这无法解决,无论如何,然后突然,搜索结果中出现了一个jsfiddle url,我看到了soundcloud嵌入在Firefox和Chrome中都运行良好。

现在,这是原始的jsfiddle网址:http://fiddle.jshell.net/Peeters_William/kpkdnrts/

我所做的是将完全相同的代码(包括HTML和Javascript部分)复制到新的jsfiddle文档中,该文档可在此处找到:https://jsfiddle.net/etLwq8kv/

我真的很无能为力:为什么第一个小提琴没有任何问题,第二个拒绝嵌入歌曲?我相信我拥有第一个代码的完全相同的副本,但仍然拒绝显示..

我甚至改变了我在第一个小提琴上看到的所有设置,例如

  • CSS面板 - >规范化的CSS
  • HTML面板 - > Doctype:HTML5,正文标记:
  • Javascript面板 - >语言:Javascript,框架:No-Libary(纯JS),加载类型:onLoad

尽管如此,即使我认为两个小提琴是完全相同的副本,为什么第二个小提琴拒绝正常工作?

提前致谢,祝大家过得愉快!

1 个答案:

答案 0 :(得分:2)

在检查网络上的一些线索后,我发现脚本根本没有被加载。我开始仔细检查所有内容,我注意到工作示例中的网址与您的网址不同,不仅仅是网址(https://jsfiddle.nethttp://fiddle.jshell.net),还有协议。

在工作示例中,协议是HTTP,Soundcloud的API也是如此。但是,您的示例是安全连接,API的地址不是。这解释了"拒绝访问属性href消息的权限。"

幸运的是,Soundcloud提供了API的安全版本。我通过将协议更改为HTTPS来修复您的示例并开始工作。

更改HTTP协议

http://connect.soundcloud.com/sdk.js

到HTTPS

https://connect.soundcloud.com/sdk.js