«Uncaught EvalError: отказался оценивать строку как JavaScript, потому что« unsafe-eval »не является допустимым источником сценария» при попытке запустить CKEditor - PullRequest
0 голосов
/ 31 декабря 2018

Я работаю с платформой цифрового хранилища Invenio локально, которая поставляется с модулем узла для запуска CKEditor, чьи возможности расширенного текста являются обязательным требованием для этого проекта.Я попытался изменить свою конфигурацию с помощью довольно изношенной документации Invenio, но безуспешно, поэтому я иду по старинке: загружаю файл .js через:

<script src="/static/node_modules/ckeditor/ckeditor.js"></script>

Это определенно пытается загрузить, но я получаю сообщение об ошибке в консоли, с которой я никогда не сталкивался раньше:

ckeditor.js:299 Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "default-src 'self' 'unsafe-inline' 'unsafe-inline'".

Я не вижу много документации об этой ошибке онлайнза исключением расширения Chrome (ошибка появляется в консоли для всех браузеров, а не только для Chrome), и я очень не уверен, что делать дальше.Это довольно необычная ошибка сама по себе, но я также приветствовал бы некоторую ясность о том, как создать экземпляр CKEditor в Invenio OOTB.Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 07 февраля 2019

Это был месяц, так что вы, наверное, поняли это.Однако на всякий случай ошибка, которую вы видите, связана с политикой безопасности контента , установленной в заголовках вашего сайта.Среди прочего, default-src 'self' говорит: «Не позволяйте eval».Обходной путь - добавить «unsafe-eval» в политику.Также обратите внимание: у вас есть «unsafe-inline» дважды.Второй ничего не делает, так что вы можете заменить это на «unsafe-eval».Также обратите внимание: eval считается плохой практикой и небезопасным - следовательно, «небезопасным».Я предполагаю, что ckeditor использует это только для пользы, все же.

...