允许在Chrome应用中嵌入youtube播放器

时间:2016-05-07 21:34:57

标签: javascript google-chrome

我试图制作我的第一个Chrome应用,但我遇到了问题。 在我的第一个窗口中,我制作了这个HTML代码。



<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <div>Percebe ivair. Estou sempre por cima!</div>
<iframe width="640" height="360" src="https://www.youtube-nocookie.com/embed/aFMkXqrKGMY" frameborder="0" allowfullscreen></iframe>
  </body>
  </html>
&#13;
&#13;
&#13;

但是当我尝试打开Chrome应用时,我收到了以下错误消息:

&#34;拒绝框架&#39; https://www.youtube-nocookie.com/embed/aFMkXqrKGMY&#39;因为它违反了以下内容安全政策指令:&#34; frame-src&#39; self&#39; blob:filesystem:data:chrome-extension-resource:&#34;。&#34;

在我的manifest.json中,我尝试了这个:

{     &#34; name&#34;:&#34; Hello World!&#34;,     &#34;说明&#34;:&#34;我的第一个Chrome应用。&#34;,     &#34; manifest_version&#34;:2,     &#34;权限&#34;:[&#34; app.window.alwaysOnTop&#34;,&#34; https://www.youtube-nocookie.com/embed/ *&#34;],     &#34; content_security_policy&#34;:&#34; script-src&#39; self&#39; https://www.youtube-nocookie.com; object-src&#39; self&#39;&#34; }

如何在Chrome应用中插入简单的播放器?

谢谢!

1 个答案:

答案 0 :(得分:0)

Chrome应用的CSP不允许引用iFrame中的外部资源。这与Chrome扩展程序不同,后者更灵活。

限制如下(根据上面的链接):

  
      
  • 您无法在Chrome应用页面中使用内联脚本。该   限制禁止块和事件处理程序()。
  •   
  • 您无法引用任何外部资源   您的应用文件(视频和音频资源除外)。   你无法嵌入   iframe中的外部资源。
  •   
  • 您不能使用字符串到JavaScript   像eval()和new Function()这样的方法。
  •   

您可以查看this page以了解有关这些限制的几种方法的详细信息,但以下是基本概念:

选项1 :您可以使用webview代替iFrame,iFrame会在单独的流程中运行,从而将外部内容与您的应用数据隔离开来。

选项2 :您可以创建包含YouTube嵌入式脚本的沙盒页面,然后在页面中的iFrame中包含沙盒页面。