[英]Scripts not getting loaded in the chrome extension
我查看了類似的帖子How to set Content Security Policy in Chrome Extension Manifest.json to for Firebase to work 。 我知道這個問題與 CSP 相關,但是我需要設置的策略是我沒有得到的。
我構建了一個使用jsoneditor的 chrome 擴展,並且該依賴項導致了這個問題。 運行擴展時,我收到以下異常
拒絕加載腳本“data:application/javascript;base64,....”,因為它違反了以下內容安全策略指令:“script-src 'self'”。 請注意,'script-src-elem' 未明確設置,因此使用 'script-src' 作為后備。
和
未捕獲的 DOMException:無法在“WorkerGlobalScope”上執行“importScripts”:“data:application/javascript;base64,......”處的腳本加載失敗。 在 blob:chrome-extension://nlgocoglacibgkjnhaahkmepblhmelcp/765c13cb-44d4-480c-a6b1-29527766ae5e:1:1
在上面提到的 SO 問題中,網址如
https://cdn.firebase.com https://*.firebaseio.com;
包含在content_security_policy
。
在我的示例中,腳本不是從域外加載的。 在這種情況下如何設置正確的content_security_policy
?
問題的解決方法是添加script-src-elem 'self' data: blob:;
在manifest.json
文件的content_security_policy
中。
我的看起來像下面這樣,
"content_security_policy": "script-src 'self'; script-src-elem 'self' data: blob:; worker-src 'self' data: blob:; object-src 'self'"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.