javascript - 在 Chrome 应用中使用 Fabric.js

标签 javascript google-chrome html5-canvas fabricjs google-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 双向传递数据。

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

关于javascript - 在 Chrome 应用中使用 Fabric.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39542113/

相关文章:

c# - .NET 字典与类属性

Javascript 检查函数是否由两个字符串组成

css - Z-index 适用于 FF,不适用于 Chrome

javascript - 无法在 Javascript 中设置 cookie

javascript - 如何使用html5 canvas + js制作粒子缩放过渡?

twitter - 如何将 Canvas 图像分享到Twitter?

php - 隐藏表单强制下载不起作用

javascript - 使用 meteor 将数据传递给动态创建的模板

google-chrome - 将 Chrome (hunspell) 中的两个 BDIC 文件合二为一

html5-canvas - 如何从平板电脑获取压力与 HTML5-Canvas 一起使用