2013-05-28 14 views
2

爲了測試Firefox OS的功能,我正在編寫一個特權應用程序,可以訪問設備上的各種API,但是我陷入了開發中。我希望你能幫助我,我找不到任何有用的文檔... 我想從我的應用程序訪問Google Maps API,但這需要在應用程序包外部加載腳本(如<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?....."></script>)。 由於特權應用程序中的CSP限制,這隻適用於模擬器,但在我的設備上我無法加載這些API。 是否有任何方法可以禁用CSP限制(僅用於測試目的)或任何解決此問題的方法?我試圖Firefox OS CSP對特權應用程序的限制

<iframe src="frame.html" sandbox="allow-same-origin allow-scripts"></iframe>

但無論frame.html能夠加載這些腳本...

回答

0

要在設備上運行它必須經過審覈,批准,並經授權的市場數字簽名。那麼只有你的應用程序才能在真實設備上運行欲瞭解更多信息,請點擊下面的鏈接。我不認爲你可以重寫這條規則。

Click Here

1

您可以禁用默認CSP限制只有當你正在構建/閃爍自己的蓋亞。然後你可以添加像

pref("security.apps.privileged.CSP.default", "default-src *; script-src *; object-src 'none'; style-src *"); 

到您的Gaia目錄中的build/custom-prefs.js文件。請注意,雖然您可以這樣做,但實際上可能不是一個好主意,因爲它不適用於未安裝自定義Gaia的任何設備。特權應用程序需要打包應用程序中包含所有腳本資源。

就你而言,更好的解決方案(以及唯一能夠在真實設備上工作的解決方案)是在構建時獲取Google代碼,並將其包含在打包的應用程序中(因此可以使用它作爲<script src='js/googlemapsapi.js'></script>或類似的東西)。