2

YouTube Flash (AS3) プレーヤーが埋め込まれたサイトを持っていますが、Safari で動作しなくなりました。

この fiddleをチェックしてください。コードは次のとおりです。

<object type="application/x-shockwave-flash"
              data="http://www.youtube.com/apiplayer">
</object>

Chrome、Firefox、IE では、http://www.youtube.com/apiplayerへのリクエストは正常に返されます (200)。Safari では、サーバーは 303 をhttps://youtube.googleapis.com/apiplayerに返します。

このプレーヤーは読み込まれますが、JavaScript で操作できません。これは、明示的に http を要求していますが、https 経由で提供されているためだと思いますが、混合モードのセキュリティの問題が発生します。プレーヤーで何かをしようとすると、次のエラーが表示されます (これは、完全なクロムレス プレーヤーの埋め込みコードを使用した場合です)。

>>> player.playVideo()
Error: Error calling method on NPObject.

Safari のユーザー エージェントを別のものに変更したり、単に "Safari" という単語を壊したりしても、正しいプレーヤーが読み込まれます。また、Vimeo および Viddler プレーヤー ( http://vimeo.com/moogaloop.swfおよびhttp://www.viddler.com/player/key ) のロードも問題ありません。

これは、安定した Safari リリースと WebKit nightly の両方で見られます。また、拡張機能を無効にし、プライベート ブラウジング モードでも発生します。

http://youtube.googleapis.comリダイレクトがなく、http経由でプレーヤーを取得できることを期待して、 を埋め込むことで回避しようとしました。ただし、引き続き https にリダイレクトされ、すべてのブラウザーでリダイレクトされます。

先週、この YouTube API チケットを提出しましたが、今のところ応答がありません。

4

2 に答える 2

1

YT API バグ レポートには回答があり、URL にバージョンを追加するという回避策があります。

<object type="application/x-shockwave-flash"
        data="http://www.youtube.com/apiplayer?version=3">
</object>

バージョンが指定されていない場合、Safari のみの AS2 プレーヤーにフォールバックするようです。なぜそれが https への切り替えを強制するのかはわかりませんが、関係なく、これは機能します。

于 2013-11-06T22:25:45.730 に答える
1

Safari と YouTube での再生に問題があるようです。MacRumours http://forums.macrumors.com/showthread.php?t=1098606で複数の解決策が提案されています。32 ビット ブラウザへの切り替え、HTML5 以外のバージョンの使用などがあります。

[Safari] > [設定] > [プライバシー] > [詳細] を選択します

ユーチューブを検索

youtube-nocookie.com という Cookie を削除し、[完了] をクリックします。

Safari を再起動して、もう一度お試しください。

于 2013-08-05T16:11:10.107 に答える