【问题标题】:"Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script" when trying to run CKEditor“Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not a allowed source of script” 尝试运行 CKEditor
【发布时间】:2018-12-31 20:38:01
【问题描述】:

我在本地运行 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),我非常不确定如何继续。这本身就是一个不寻常的错误,但我也欢迎您对如何在 Invenio OOTB 中实例化 CKEditor 有所了解。感谢您的帮助。

【问题讨论】:

    标签: ckeditor content-security-policy


    【解决方案1】:

    您看到的错误与您网站标题中设置的Content Security Policy 有关。除其他外,default-src 'self' 表示“不允许 eval”。

    解决方法是在策略中添加“unsafe-eval”。另请注意:您有两次“不安全内联”。第二个没有做任何事情,所以你可以用'unsafe-eval'替换它。另请注意: eval 被认为是不好的做法和不安全的 - 因此是“不安全的”。不过,我猜 ckeditor 只是为了好而使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-13
      • 2022-12-02
      • 1970-01-01
      • 2019-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多