2016-08-02 61 views
1

我正在爲我們公司構建一個應用程序。我們有一個iframe(不要問爲什麼......)加載一個響應式網站。它對用戶來說應該是透明的。如何爲Cordova Ios/Windows Phone/Android正確設置「content-security-policy」?

我添加了幾條js行來管理離線頁面。

它運行在Android模擬器(科爾多瓦與Visual Studio)和Android設備上。不過我現在面臨一個content-security-policy我懷疑是這個錯誤的根源:

deviceready has not fired after 5 seconds

從我讀它可能來自於內容安全策略。

我上運行此錯誤:

Refused to load frame 'gap://ready' because it violates the following Content Security Policy directive: "default-src 'self' https://www.mywebsite.fr http://www.mywebsite.fr ". Note that 'frame-src' was not explicitly set, so 'default-src' is used as a fallback.

你認爲這個薈萃什麼:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' https://www.mywebsite.fr http:///www.mywebsite.fr; child-src 'self' https:///www.mywebsite.fr http:///www.mywebsite.fr; script-src 'self' https:///www.mywebsite.fr http:///www.mywebsite.fr; 
     gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 

而且我的config.xml:

<access origin="https:///www.mywebsite.fr" /> 
<access origin="http:///www.mywebsite.fr" /> 

感謝您的時間,

Stéf。

+0

您是否嘗試刪除內容安全策略並查看錯誤是否持續? – Phonolog

+0

是:相同或不相同的錯誤。 (我編輯了我的文章) – Sulot

回答

1

CSP錯誤提供了所有的細節。您沒有指定'frame-src'指令,因此它會回退到'default-src',它不會將gap:protocol列入白名單。

你有兩個選擇:

1)添加gap:到您的默認-SRC「。

2)添加'frame-src'指令並添加gap:

如果你選擇2,你可能還想添加'child-src'指令,以便將來與'frame-src'的值保持一致。