我正在本地运行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进行一些澄清。感谢您的帮助。
答案 0 :(得分:0)
已经一个月了,所以您可能想通了。不过,以防万一,您看到的错误与您的网站标题中设置的Content Security Policy有关。除其他事项外,default-src 'self'
说“不允许评估”。解决方法是在策略中添加“不安全评估”。另请注意:您有两次“不安全内联”。第二个没有做任何事情,因此您可以将其替换为“不安全评估”。另请注意:eval被认为是不良做法且不安全-因此是“不安全的”。我猜想ckeditor只会永久使用它。