d3.js - 在 WebWorker 中使用 D3 (v3) 绘制图形
问题描述
目标是在 WebWorker 中使用 D3 (v3) 绘制图形(Rickshaw 会更好)。
要求 #1:整个项目的存储空间不应超过 1 MB。
要求 #2:应支持 Internet Explorer 10
我已经尝试将 DOM 元素传递给 Webworker。这带来了以下错误消息:
DOMException:无法在“Worker”上执行“postMessage”:无法克隆 HTMLDivElement 对象。
var worker = new Worker( 'worker.js' );
worker.postMessage( {
'chart' : document.querySelector('#chart').cloneNode(true)
} );
GitHub 用户chrisahardie已经...
一个关于概念的小证明,展示了如何在 web worker 中生成 d3 SVG 图表并将其传递回主 UI 线程以注入网页。
他使用 Browserify 将 jsdom 集成到浏览器中。
问题:
该脚本几乎有 5 MB,这对应用程序的内存需求太大。
所以我的问题:
有没有人有解决问题的经验或知道如何解决问题并满足要求?
解决方案
推荐阅读
- mysql - 根据其他列值检查约束
- javascript - 如何通过查询过滤器在mongodb中搜索
- javascript - 从 javascript 数组生成动态 html 卡片
- spring - 来自 application.yml 的 Logback 目标配置
- postgresql - JSONB 之间的区别 ->> 和 #>>
- javascript - 如果小数接近,Tesseract 无法识别大数
- python - 在 Python 中使用 poplib 检查与收件箱不同的文件夹
- c# - 如何从检测到的几种数据类型中选择一种正确的数据类型
- mysql - 如何针对另一个表的列中的预设数据查找列中不存在的数据
- ruby-on-rails - brew 升级后无法加载 bin/rails s