У меня есть строка, которая выглядит примерно так:Как получить функцию из строки без использования Eval/новой функции (CSP)
var codeStr = "function a(){alert(4);}"
, и я хочу, чтобы превратить это в функцию.
я могу сделать это с помощью eval
или new Function
, например:
var fn = eval(codeStr);
Но когда содержание-безопасность политика активна и не позволяет «небезопасный-Eval», это блокируется.
Важное примечание: недостаточно просто запустить строку кода. Мне нужно также вернуть значение в переменную.
Учитывается безопасность кода запуска из строки.