在 Chrome 应用中使用 Fabric.js

Using Fabric.js in a Chrome app

所以,我正在构建一个简单的视频编辑器。我正在使用 Fabric.js <script src="/js/fabric.js"></script> 来操纵我正在编辑的 canvas。

我省略了它的序列化和解析器模型,但它仍然使用 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 那将是最棒的。

提前致谢。

Fabric 不符合 'unsafe-eval' CSP 的事实是 known issue

因此,在应用程序或扩展程序中使用它的唯一方法是将其沙盒化:在作为沙盒加载的框架中执行所有操作,并使用 postMessage.[=14 双向传递数据=]

请参阅文档文章 "Using eval in Chrome Extensions. Safely."