未捕获EvalError:拒绝将字符串作为JavaScript求值,因为在尝试运行CKEditor时,不允许使用脚本源('unsafe-eval')(&q;unsafe-eval') [英] "Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script" when trying to run CKEditor

查看:28
本文介绍了未捕获EvalError:拒绝将字符串作为JavaScript求值,因为在尝试运行CKEditor时,不允许使用脚本源('unsafe-eval')(&q;unsafe-eval')的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在本地运行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。谢谢您的帮助。

推荐答案

您看到的错误与您的站点标题中设置的Content Security Policy相关。除其他事项外,default-src 'self'表示&不允许评估。

解决方法是将"不安全评估"添加到策略中。另请注意:您有两次"unsafe-inline"。第二个没有做任何事情,所以你可以用"unsafe-eval"来代替它。还请注意:EVAL被认为是不好的做法和不安全的做法--因此是不安全的。不过,我猜ckeditor只会把它用在好的方面。

这篇关于未捕获EvalError:拒绝将字符串作为JavaScript求值,因为在尝试运行CKEditor时,不允许使用脚本源(&#39;unsafe-eval&#39;)(&q;unsafe-eval&#39;)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆