Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

273
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda