在 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 访问框架...”。如果有人知道抑制此消息的方法,我将非常感兴趣!
不过,我对“无法将消息发布到...”错误一无所知。一个快速的谷歌出现了一些遇到类似问题的人,但我没有看到任何解决方案。小部件API 都被缩小了——很难看到实际发生了什么。
我应该收到这些错误吗?有没有办法减轻错误?甚至压制它们(因为它们似乎并没有真正破坏任何东西)?