在Chrome应用中使用Fabric.js

时间:2016-09-17 01:43:38

标签: javascript google-chrome html5-canvas fabricjs google-chrome-app

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

我遗漏了它的Serialization和Parser模型,但它仍然使用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,那将是最优秀的。

提前致谢。

1 个答案:

答案 0 :(得分:2)

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

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

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