2

所以,我正在构建一个简单的视频编辑器。我正在使用Fabric.js <script src="/js/fabric.js"></script>来操作正在进行编辑的画布。在Chrome应用中使用Fabric.js

我已经离开了它的序列化和解析器模型,但它仍然使用eval的东西会抛出一个错误:

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' blob: filesystem: chrome-extension-resource:".

fabric.Canvas(String id)仍然有效,但形状对象不这样(例如new fabric.Rect();抛出一个Uncaught TypeError: fabric.Circle is not a constructor

这是我的第一个Chrome应用程序,我真的不明白发生了什么事情。如果有人能够帮助我弄清楚如何在这种环境中使用Fabric,那将是最好的。

在此先感谢。

+0

您使用织物的自定义生成的文档的文章?我听说它有时会留下重要的东西。你可以使用整个图书馆,看看是否有用? – StefanHayden

+0

已知错误:https://github.com/kangax/fabric.js/issues/1621 – Xan

回答

2

Fabric不是'unsafe-eval' CSP兼容的事实是known issue

因此,在应用程序或扩展程序中使用它的唯一方法是对其进行沙箱化:在加载为沙盒的框架中执行所有操作,并使用postMessage两种方式传递数据。

"Using eval in Chrome Extensions. Safely."