0

私はこれについて多くの進歩を遂げており、ここで説明されているように、chromecast レシーバーに「見えないプレーヤー」を実装したいと考えていました: Deezer見えないプレーヤー

デモ アプリを実行していて、送信者から受信者にアクセス トークンを渡すことができ、トークンの有効期限が切れています。次のように 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 キャスト レシーバーの両方で同じ document.domain があることを保証できます。

2 番目のエラーは、フラッシュに何かをロードしている deezer によるものと思われます (この例ではフラッシュに何も記述されていないので奇妙です)。

3 番目のエラーは、何らかの理由で deezer が FB を呼び出すことです。

Iframe を介した YouTube API が chromecast で動作するように作成されていることは知っているので、これは可能だと思いますが、フラッシュの問題とクロス ドメインが問題のようです。

何かアドバイス?

4

2 に答える 2

1

About the domain, sometimes you get errors when the domain you specified for your app on http://developers.deezer.com contains http:// as it shouldn't.

About Flash, the Deezer player is based on Flash for encryption so you need to install it to get it to work.

Facebook is included in the Deezer player (for sharing, login purposes) and you get warnings when your page is loaded within iframes. You can ignore these warnings.

于 2013-10-21T10:30:28.423 に答える
1

私は Deezer に詳しくないので、Deezer 関連の問題についてコメントすることはできませんが、「Unsdafe ...」メッセージは、 file:// *を使用しようとすることによっても発生する可能性があります。これは、Chrome の追加のセキュリティ対策です。さらに、iframe の sanbox プロパティは何ですか? 「allow-same-origin」は含まれていますか?

于 2013-10-20T23:24:31.297 に答える