2012-02-03 73 views
9

我知道Web Worker规范说“不访问DOM,因为DOM不是线程安全的”。虽然我可以看到这对Web工作者和HTML页面DOM来说是合乎逻辑的,但考虑从XmlHttpRequest调用中解析XML时,实际上它是非常严格的 - 毕竟,该调用的基本处理是异步的,因此对前台线程影响很小,解析XML会减慢前台线程(处理XML应用程序时)。在Web Workers中解析XML

除了在Javascript中构建自己的XML解析器(我不打算使用XPCOM路由!)来解析Web Worker中的XML吗?

回答

13

庵 - 后来回答我几个小时 - 而这很可能是一条信息,证明是非常有用的人:

有一个开源的,完全用JavaScript编写的全功能的XML解析器 - 和它的工作原理相当不错,在网站工作人员:

XML-JS

基本上,你只需要包括tinyxmlsax.js和tinyxmlw3cdom.js在你的工人,然后按照文档使用W3C DOM。

只需很少的按摩,我就可以使用正常的DOMParser(用于在前台运行时)和xmljs解析器。

很显然,它的速度较慢 - 但这确实不算什么问题 - 毕竟,你是在后台运行它!

+0

下面是另一个:https://github.com/isaacs/sax-js – 2015-01-08 15:25:26