5

v2 の Google Chrome 拡張機能内で YouTube の Player API を使用すると、重大ではないエラー メッセージがいくつか表示されます。

私の content_security_policy には次の定義があります。

"content_security_policy": 
    "script-src 'self' https://www.youtube.com/player_api https://s.ytimg.com/yt/jsbin/www-widgetapi-vfl9Ni0ki.js; object-src 'self'"

最初の参照である player_api は、widgetapi に依存しています。これは、player_api の URL に移動してその内容を見れば明らかです。

if (!window['YT']) {var YT = {};}if (!YT.Player) {(function(){var s = 'https:' + '//s.ytimg.com/yt/jsbin/www-widgetapi-vflU5wlSl.js';var a = document.createElement('script');a.src = s;a.async = true;var b = document.getElementsByTagName('script')[0];b.parentNode.insertBefore(a, b);YT.embed_template = "\u003ciframe width=\"425\" height=\"344\" src=\"\" frameborder=\"0\" allowfullscreen\u003e\u003c\/iframe\u003e";})();}

それはすべて順調です。コンテンツ セキュリティ ポリシーが機能し、YouTube 動画が正常に読み込まれます。ただし、舞台裏で多くの警告が表示されます。

ここに画像の説明を入力

「安全でない JavaScript が URL のフレームにアクセスしようとしています...」というメッセージは、削除または非表示にできないことを理解しています。誰かがこのメッセージを抑制する方法を知っているなら、私は非常に興味があります!

ただし、「メッセージを投稿できません...」というエラーについてはわかりません。簡単な Google で、同様の問題を経験している数人が見つかりましたが、解決策は見られませんでした。widgetAPI はすべて縮小されているため、実際に何が起こっているのかを確認するのが難しくなっています。

これらのエラーを受け取ることになっていますか? エラーを軽減する方法はありますか?または、それらを抑制しますか (実際には何も壊していないように見えるため)?

4

2 に答える 2

3

http://www.youtube.comにメッセージを投稿できない問題は、YTPlayer のインスタンス化コードを $(document).ready ではなく $(window).load() でラップすることで解決されます。

Uncaught TypeError: Cannot call method 'apply' of null は、onReady、onStateChange、および onError の関数を提供することで解決されます。これらのコールバックのいずれかに null を指定することはできません。

于 2012-09-13T21:46:00.300 に答える
2

「安全でない JavaScript 試行...」というメッセージは、Chrome/Chromium の次のバグによるものだと思います。

http://code.google.com/p/chromium/issues/detail?id=17325

.. これにより、直接のクロスドメイン通信のテスト中にこの例外をキャッチできなくなります。

このメッセージは無視しても問題ありませんが、(バグが修正されるまで) これらの警告を回避する方法はありません。

他の質問はすでに回答済みです。

于 2012-09-17T12:48:51.827 に答える