11

Sto provando a creare un'estensione di Chrome, ma nessuno dei miei JS funziona. La console mostra questo errore:Chrome Extension "Rifiutato di caricare lo script perché viola la seguente direttiva di Content Security Policy"

Refused to load the script ' https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js ' because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem: chrome-extension-resource:".

Perché sta bloccando il funzionamento di jQuery?

+0

Lo hai aggiunto al manifest? – epascarello

+0

@epascarello Questo è il problema allora, perché non so cos'altro potrei mancare. Come posso aggiungerlo al manifest? – Mia

+3

Possibile duplicato di [Extension rifiuta di caricare lo script a causa della direttiva Content Security Policy] (http://stackoverflow.com/questions/25867584/extension-refuses-to-load-the-script-due-to-content-security -policy-direttiva) – rsanchez

risposta

8

Lo hai permesso nel file manifest JSON. Qualcosa di simile a questo:

manifest.json

{ 
    "name": "My Extension", 
    "content_scripts": [{ 
    "js": ["jquery.min.js", "YourJavaScriptFile.js"], 
    "matches": ["http://*/*", "https://*/*"] 
    }] 
} 

Non ci sono tenuti campi ho lasciato fuori, ma solo dare l'idea di base.

+0

Ottenuto tutto configurato ora. Grazie per il tuo aiuto, vale molto! – Mia

+0

Beh, non è andata come previsto. Ricevo ora il seguente errore console: 'Uncaught ReferenceError: $ is not defined – Mia

0

Il mio file HTML aveva <script> some js code within it </script>. Quando sono stati rimossi i tag dello script, l'errore era sparito.

1

Come spiegato sul Chome website, v'è una politica di sicurezza contenuti impedendo lo script per caricare script remoto:

A relaxed policy definition which allows script resources to be loaded from example.com over HTTPS might look like:

"content_security_policy": "script-src 'self' https://example.com ; object-src 'self'"

Quindi nel tuo caso, il manifest.json dovrebbe contenere:

{ 
    "name": "My Extension", 
    "manifest_version": 2, 
    "background":{ 
    "scripts": [...] 
    }, 
    "content_security_policy": "script-src 'self' https://example.com; object-src 'self'", 
} 
Problemi correlati