我的应用程序有一个到服务器的websocket连接,它定期接收一个大的JSON有效负载,然后使用SVG.js转换为SVG可视化。在主JS线程上执行此操作会将UI冻结一段时间(5秒以上)。我想利用一个Worker在一个线程中进行转换,然后在完成时用更新的SVG批量替换当前的SVG。
我的问题是这个 - SVG.js希望直接修改DOM。有没有办法让它在各种“沙盒”中运行,在工作完成之前不会影响现有的DOM?
svg.js需要一个dom才能工作。它不适用于工人。我们有svgdom模仿dom。这可以工作,但是你需要加载到客户端的各种服务器库,这是不可取的。
所以答案是:不,没有好的方法来实现你想要的