2016-05-07 104 views
0

我正在嘗試製作我的第一個Chrome應用程序,並遇到問題。 在我的第一個窗口中,我創建了這個html代碼。在Chrome應用程序中嵌入YouTube播放器的權限

<!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>

但是當我嘗試打開Chrome應用,我收到此錯誤信息:

「拒絕框架‘https://www.youtube-nocookie.com/embed/aFMkXqrKGMY’,因爲它違反了以下內容安全策略指令:「frame-src'self'blob:filesystem:data:chrome-extension-resource:」。「

在我的manifest.json我嘗試這樣做:

{ 「名」 的 「Hello World!」, 「說明」: 「我的第一個Chrome應用。」, 「manifest_version」:2, 「權限」: 「app.window.alwaysOnTop」, 「https://www.youtube-nocookie.com/embed/ *」], 「content_security_policy」: 「腳本的src '自我' https://www.youtube-nocookie.com;對象的src '自我'」 }

我該怎麼辦在我的Chrome應用程序中插入一個簡單的播放器?

謝謝!

回答

0

Chrome Apps的CSP不允許引用iFrame中的外部資源。這與Chrome擴展更爲靈活。

的限制如下(按照上面的鏈接):

  • 你不能在你的Chrome應用頁使用內嵌的腳本。限制條件禁止塊和事件處理程序()。
  • 您不能在任何 您的應用程序文件(視頻和音頻資源除外)中引用任何外部資源。 您不能將 外部資源嵌入到iframe中。
  • 您不能使用像eval()和new Function()這樣的字符串到JavaScript 方法。

您可以瞭解更多詳情請查看this page一對夫婦的解決這些限制的方法,但下面的基本思想是:

選項1:您可以使用webview取代iFrame ,它運行在一個單獨的過程中,從而將外部內容與應用程序數據隔離開來。

選項2:您可以創建一個包含YouTube嵌入腳本的沙箱頁面,然後將沙盒頁面包含在頁面中的iFrame中。

相關問題