我需要发明一种方法来同步连接到网站的多个设备。 让我们说我有一台平板电脑和一台笔记本电脑,并在笔记本电脑上更改了dom的一些元素。那么 平板电脑上的网站应该相应改变。
首先,我需要一种监控dom变化的方法。我在论坛中阅读了很多内容,并尝试使用browser-synch(https://github.com/shakyShane/browser-sync),但它不会监视所有事件。但是,可能会发生网站不同步的情况。
我也试过使用新的MutationServer技术。但我不确定如何更新其他设备上的网站:
如果已将新节点添加到DOM,我首先必须确定其在树内的位置;然后将所有信息发送给其他客户端(我想通过nodejs和socketio)。客户端必须将新创建的节点放在树的正确位置。
如果某个节点已被编辑或删除,我也必须对它做出反应......
所以我的问题是:你有任何想法或文献来解决我的问题吗? 我只是需要一些好的提示才能开始,因为我不确定哪种方法可以让我选择最好的"解。我想发明一个有效的解决方案。 当然,我可以通过在一秒内检查x次来监视DOM是否发生了变化。但是这种方法并不是非常有效,特别是对于移动设备而言。
希望你们能帮助我并引导我走向正确的方向。
最好的问候。
答案 0 :(得分:1)
注意:没有任何准备就绪,这不是那么简单。
避免捕获帧(或使用它们),因为可能会出现安全问题(交叉源)。
在我看来,没有必要捕获整个文档,只需要捕获" BODY"和" HEAD"
避免复杂的结构,也许不需要捕获事件(eventslistiners),只需要有一个添加已有事件的库。除非事件是由客户创建的,否则您将不得不捕获它们。
要传输它们,您必须使用Ajax并与DataBase共享(SQLServer,Mysql,MongoDB等)。
如果您想创建一个仅用于共享数据的应用,例如有人发布了一张新照片"或者#34;新评论",最好将其传输插入"数据库"为" JSON"和客户阅读" JSON"你的主要" javascript库"会动态生成内容。
因此,传输过程的速度更快,更容易实现。