Violation de la directive de politique de sécurité du contenu : le script en ligne n'est pas conforme à la spécification "script-src 'self'"
P粉276064178
P粉276064178 2023-08-15 14:48:52
0
1
536
<p>J'utilise <code>react-create-app</code> pour créer mon extension Chrome. Lorsque j'utilise <code>npm run build</code> dans React-create-app, j'obtiens l'erreur suivante : </p> <blockquote> <p>L'exécution du script en ligne est refusée car elle viole la directive de politique de sécurité du contenu suivante : "script-src 'self'". Pour activer l'exécution en ligne, utilisez le mot-clé "unsafe-inline", un hachage ('sha256-5=') ou un nom occasionnel unique ('nonce-...'). </p> </blockquote> <p><code>index.html</code>Erreur</p> <pre class="brush:php;toolbar:false;"><!DOCTYPE html> <html lang="fr"> <tête> <meta charset="utf-8" /> <link rel="icône de raccourci" href="%PUBLIC_URL%/favicon.ico" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="theme-color" content="#000000" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" /> <lien rel="feuille de style" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" intégrité="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonyme" /> <!-- Manifest.json fournit des métadonnées utilisées lorsque votre application Web est installée sur l'appareil mobile ou le bureau d'un utilisateur. Voir https://developers.google.com/web/fundamentals/web-app-manifest/ ---> <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> <!-- Notez l'utilisation de %PUBLIC_URL% dans la balise ci-dessus. Pendant le processus de construction, il sera remplacé par l'URL du dossier « public ». Seuls les fichiers du dossier « public » peuvent être référencés à partir du HTML. Contrairement à "/favicon.ico" ou "favicon.ico", "%PUBLIC_URL%/favicon.ico" fonctionnera correctement sur les routes client et les URL publiques non root. Exécutez `npm run build` pour savoir comment configurer les URL publiques non root. ---> <titre>React App</titre> ≪/tête> <corps> <noscript>Vous devez activer JavaScript pour exécuter cette application. </noscript> <identifiant div="racine"></div> <!-- Ce fichier HTML est un modèle. Si vous l'ouvrez directement dans votre navigateur, vous verrez une page blanche. Vous pouvez ajouter des polices Web, des balises méta ou des analyses dans ce fichier. L'étape de construction placera les scripts regroupés dans des balises ``. Pour démarrer le développement, exécutez `npm start` ou `yarn start`. Pour créer un bundle de production, utilisez « npm run build » ou « yarn build ». ---> </corps> </html></pre> <p><strong>manifest.json</strong></p> <pre class="brush:php;toolbar:false;">{ "version_manifeste": 2, "name": "Extension Chrome du projet IC", "description": "Cette extension est un point de départ pour créer une véritable extension Chrome", "version": "0.0.1", "action_navigateur": { "default_popup": "index.html", "default_title": "Ouvrez la popup" }, "Icônes": { "16": "actifs/icône-128.png", "48": "actifs/icône-128.png", "128": "actifs/icône-128.png" }, "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'" }</pré> <p><br /></p>
P粉276064178
P粉276064178

répondre à tous(1)
P粉447785031

Après quelques heures frustrantes, j'ai trouvé une solution qui fonctionne. L'exécution de scripts diffère entre Mac et PC. La plupart des réponses que j'ai trouvées présentaient la différence avec "set" et sans "set". Certains avec "&&", d'autres sans... mais aucun ne fonctionne pour moi.

En bref : utilisez le package npm "cross-env" comme ceci :

cross-env INLINE_RUNTIME_CHUNK=false react-scripts build

Cela fonctionne sur PC, probablement aussi sur Mac. Bien sûr, vous devez npm install --save-dev cross-env avant cela.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!