Se rehusó a cargar el script porque infringe la siguiente directiva de política de seguridad de contenido
Hola, cuando intenté desplegar mi aplicación en dispositivos con sistema Android por encima de 5.0.0, seguí recibiendo este tipo de mensajes de error:
07-03 18: 39: 21.621: D / SystemWebChromeClient (9132): file: ///android_asset/www/index.html: Línea 0: Se ha negado a cargar el script ' http: // xxxxx ' porque viola el siguiente Contenido Directiva de directiva de seguridad: "script-src 'self' 'unsafe-eval' 'unsafe-inline'". 07-03 18: 39: 21.621: I / chromium (9132): [INFO: CONSOLE (0)] "Se ha negado a cargar el script ' http: // xxx ' porque infringe la siguiente directiva de Política de seguridad de contenido: Src 'self' 'unsafe-eval' 'unsafe-inline' ".
- ¿Cómo probar las capacidades de notificación push de la aplicación móvil en un emulador?
- Cordova no puede agregar Android falló con el código de salida ENOENT
- Cómo iniciar sesión con Google OAuth2 utilizando Angularjs dentro de Phonegap utilizando ClientID y ClientSecret
- La conexión de Cordova al servidor no tuvo éxito
- Deshabilitar el menú de selección contextual en el paso de peatones (cordova)
Sin embargo, si lo implementé en dispositivos móviles con el sistema android de 4.4.x, la política de seguridad funciona con los predeterminados:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
Entonces pensé, tal vez, debería cambiar a algo como esto:
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'; style-src 'self' 'unsafe-inline'; media-src *">
Básicamente, ambas opciones no funcionan para mí. ¿Alguien tiene una idea de cómo resolver este problema?
¡Gracias!
- ¿Cómo agregar android a la plataforma de Córdova? PATH error?
- Deviceready no disparará en Phonegap 1.0.0 en Android
- ¿Cómo iniciar una actividad de Android cuando se inicia una aplicación PhoneGap?
- No se puede llamar a determinadoVisibility () nunca vio una conexión para PID
- La base de datos SQLite no funciona en Android 4.4
- Phonegap tipo de entrada campo de contraseña foco
- Plugin de geolocalización de Phonegap no agrega para android
- No se puede cordova meteoro aplicación (Error: ENOENT)
La auto-respuesta dada por MagngooSasa hizo el truco, pero para cualquier otra persona tratando de entender la respuesta, aquí está un poco más detalles:
Al desarrollar Apps Cordova con Visual Studio, intenté importar un archivo javascript remoto [localizado aquí http://Guess.What.com/MyScript.js%5D , pero teniendo el error mencionado en el título.
Aquí está la etiqueta Meta ANTES, en el archivo index.html del proyecto
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *>
Aquí está la metaetiqueta CORRECTA, para permitir la importación de una secuencia de comandos remota:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *;**script-src 'self' http://onlineerp.solution.quebec 'unsafe-inline' 'unsafe-eval';** ">
Y no más error!
Intenta reemplazar tu metaetiqueta con lo siguiente:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* 'unsafe-inline'; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'" />
O además de lo que tienes, deberías agregar http://*
tanto a style-src
como a script-src
como se ha visto anteriormente añadido después de 'self'
Resuelto con
script-src 'self' http://xxxx 'unsafe-inline' 'unsafe-eval';
Para elaborar un poco más sobre esta adición
script-src 'self' http://somedomain 'unsafe-inline' 'unsafe-eval';
A la metaetiqueta como si
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; script-src 'self' https://somedomain.com/ 'unsafe-inline' 'unsafe-eval'; media-src *">
Corrige el error
Usamos esto:
<meta http-equiv="Content-Security-Policy" content="default-src gap://ready file://* *; style-src 'self' http://* https://* 'unsafe-inline'; script-src 'self' http://* https://* 'unsafe-inline' 'unsafe-eval'">