Firefox 中的 Soundcloud 嵌入问题

Soundcloud embedding problems in Firefox

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

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

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

Error: Permission denied to access property "href"

我找了2天了,差点得出一个结论,无论如何都无法修复,然后突然,一个jsfiddle url出现在搜索结果中,我看到 soundcloud 嵌入在 Firefox 和 Chrome.

中都运行良好

现在,这是原始 jsfiddleurl:http://fiddle.jshell.net/Peeters_William/kpkdnrts/

我所做的是复制完全相同的代码,包括 HTML 和 Javascript 部分到一个新的 jsfiddle 文档,可以在这里找到:https://jsfiddle.net/etLwq8kv/

我真是一头雾水:为什么第一个 fiddle 没有任何问题,而第二个却拒绝嵌入歌曲?我相信我拥有与第一个代码完全相同的副本,但它仍然拒绝显示..

我什至更改了我在第一个 fiddle 上看到的所有设置,例如

尽管如此,即使我相信两个 fiddle 是完全相同的副本,为什么第二个无法正常工作?

提前致谢,祝大家有美好的一天!

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

在工作示例中,协议是 HTTP,Soundcloud 的 API 也是如此。但是,您的示例是在安全连接中,而 API 的地址不是。这解释了 "Permission denied to access property href message."

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

更改 HTTP 协议

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

到 HTTPS

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