我在这方面取得了很多进展,并想在chromecast接收器上实现“隐形播放器”,如下所述:Deezer invisible player
我的演示应用程序正在运行,并且能够从发件人传递给接收者我的访问令牌和我的令牌到期。 像这样实施DZ播放器:
DZ.init({
appId : deezer_app_id,
channelUrl : deezer_channel_url,
player : {
onload : onPlayerLoaded,
token : {
accessToken:event.message.accessToken,
expire:event.message.expire
}
}
});
onPlayerLoaded函数暂时只记录一条消息。
我目前正在:
Unsafe JavaScript attempt to access frame with URL http://mydomain/chrome/myreceiver.html from frame with URL http://www.deezer.com/es/plugins/player.php?channel=http://Mydomain/chrome/channel.php&app_id=IDVALUE&emptyPlayer=true. Domains, protocols and ports must match.
external-v00202097.js:40
FB.getLoginStatus() called before calling FB.init(). vb.js:56
Flash is not installed or is too old vb.js:56
Unsafe JavaScript attempt to access frame with URL http://mydomain/chrome/myreceiver.html from frame with URL http://static.ak.facebook.com/connect/xd_arbiter.php?version=27#channel=f3a…Ffb_xd_fragment%23xd_sig%3Df2d6a19d8%26&origin=http%3A%2F%2Fwww.deezer.com. The frame requesting access set 'document.domain' to 'facebook.com', but the frame being accessed did not. Both must set 'document.domain' to the same value to allow access.
xd_arbiter.php:18
Unsafe JavaScript attempt to access frame with URL http://Mydomain/chrome/myreceiver.html from frame with URL https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=27#channel=…Ffb_xd_fragment%23xd_sig%3Df2d6a19d8%26&origin=http%3A%2F%2Fwww.deezer.com. The frame requesting access has a protocol of 'https', the frame being accessed has a protocol of 'http'. Protocols must match.
现在第一个没有意义,因为我将我的channelURL设置为相同的域,使用检查器查看我可以保证在channelURl和chrome cast接收器上我们有相同的document.domain。 / p>
第二个错误似乎是来自加油器加载闪存中的东西(很奇怪,因为示例在闪存中没有说明任何内容)。
第三个错误是由于某种原因而称为FB的人。
我知道通过iframe的youtube api已经与chromecast配合使用,所以我认为这是可能的,但是闪存问题和跨域似乎是一个问题。
有什么建议吗?
答案 0 :(得分:1)
我对Deezer不熟悉,因此无法对Deezer相关问题发表评论,但尝试使用file:// * 也会导致“Unsdafe ...”消息;这是Chrome中的一项额外安全措施。另外,iframe的sanbox属性是什么?它是否包括“允许同源”?
答案 1 :(得分:1)
关于域名,有时当您在http://developers.deezer.com为您的应用指定的域包含http://时,您会收到错误。
关于Flash,Deezer播放器基于Flash进行加密,因此您需要安装它才能使其正常工作。
Facebook包含在Deezer播放器中(用于共享,登录),当您的页面加载到iframe中时,您会收到警告。您可以忽略这些警告。