Tengo un código existente que se ve así.
i = new Function("obj", "_", s);El parámetro s contiene un código javascript ejecutable, como una cadena. En un punto posterior del método, se llama como
i.call(this, e, v)Recibo un error csp por inseguro para la nueva línea de función. ¿Cómo resuelvo esto de modo que la evaluación insegura no vuelva a aparecer? Por favor ayuda.
Básicamente, lo que intento hacer es tener una aplicación de terceros que he localizado para corregir los errores de evaluación de CSP.
¿Por qué la nueva función provoca el error de evaluación insegura?
Como mencionó @James, new Function("obj", "_", s) evalúa la parte s y genera una función basada en la cadena.
Realmente depende de lo que es el s aquí. ¿Se calcula dinámicamente?
s como un código real: const i = function(obj, _) { // paste s here } const i = function(obj, _) { if (xxx) { // implementation 1 } else if (xxx) { // implementation 2 } }