Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

274
Vistas
Cordova: se niega a ejecutar el controlador de eventos en línea porque viola la siguiente política de seguridad de contenido

Estoy entrenando para el desarrollo de aplicaciones de Cordova y le doy la vuelta a un problema con la Política de seguridad de contenido.

Mi aplicación se ejecuta con el emulador de Android, pero cuando tengo que ejecutar un javascript, aparece un mensaje en NetBeans (ventana de salida).

 Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' https://ssl.gstatic.com". (22:35:56:126 | error, security) at www/index.html:58

Mi código está abajo. Este es mi index.html. Trato de entender cómo funciona CSP y creo que entiendo el concepto, pero en este caso, no entiendo el problema. La línea 58 es el comentario.

 <html> <head> <meta http-equiv="Content-Security-Policy" content="default-src 'self' * data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self'; script-src 'self' https://ssl.gstatic.com; media-src *"> <meta name="format-detection" content="telephone=no"> <meta name="msapplication-tap-highlight" content="no"> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> <title>Hello World</title> <link rel="stylesheet" type="text/css" href="css/index.css"> </head> <body> <div class="app"> <h1>Apache Cordova</h1> <div id="deviceready" class="blink"> <p class="event listening">Connecting to Device</p> <p class="event received">Device is Ready</p> </div> </div> <!-- line 58 --> <button onclick="capturePhoto();">Capture Photo</button> <br> <img style="display:none;width:80px;height:80px;" id="smallImage" src="" /> <img style="display:none;" id="largeImage" src="" /> <script type="text/javascript" src="cordova.js"></script> <script type="text/javascript" src="js/index.js"></script> </body> </html>

De antemano gracias por su ayuda porque la necesito. Jérôme

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Mira este enlace , dice:

No se ejecutará JavaScript en línea. Esta restricción prohíbe tanto los bloques <script> en línea como los controladores de eventos en línea (eg button onclick="...") .

Para evitar problemas de secuencias de comandos entre sitios como los que se especifican a continuación

 one.app#/home:1 Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' 'nonce-d452460d-e219-a6e5-5709-c8af6ca82889' chrome-extension: 'unsafe-inline' 'unsafe-eval' https://sfdc.azureedge.net *.na34.visual.force.com https://ssl.gstatic.com/accessibility/". Note that 'unsafe-inline' is ignored if either a hash or nonce value is present in the source list.

Vaya a event listener functions en lugar de onclick='myFun()" .

 <body onload="main();"> <button onclick="clickHandler(this)"> Click for awesomeness! </button> </body> <script> function clickHandler(element) { // On click Code } function main() { // Initialization work goes here. } </script>

Para poder trabajar con el nuevo navegador, debe escribir su código con una clara separación entre el contenido y el comportamiento.

 <body> <button>Click for awesomeness!</button> </body> <script src="popup.js"></script> <!-- popup.js --> document.addEventListener('DOMContentLoaded', function () { document.querySelector('button').addEventListener('click', clickHandler); main(); }); function clickHandler(element) { // On click Code } function main() { // Initialization work goes here. } <!-- popup.js -->
over 4 years ago · Santiago Trujillo Denunciar

0

Intente agregar img-src * a la etiqueta Content-Security-Policy:

 <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 *; img-src *">
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda