Web Worker 内部的 DOM 操作

2023-11-23

我知道工人can't直接操作文档,但是 DOM API 方法怎么样?他们去哪儿了?

例如,如果我发出一个接收 HTML 片段的请求,如果只需要解析它以便从特定节点检索一些数据,我应该做什么?

绝对有no way在 Web Worker 上使用虚拟 DOM?!


浏览器支持

DOMParser or document.implementation通常用于在浏览器中将 HTML 解析为 DOM。两者在工人环境中都不可用。

在 Firefox 中,这是不可能的,因为有人决定所有线程都只有一个 DOM 解析器实例。看到这个错误:https://bugzilla.mozilla.org/show_bug.cgi?id=677123

在谷歌浏览器中它也不起作用。

解决方法 - 外部库

没错,由于浏览器开发人员没有意识到 DOM 和 XML 解析将是 WebWorkers 的主要用途之一,因此我们不得不求助于外部库。最好的选择似乎是JSDOM,但你需要弄清楚如何浏览器化它.


这是我失败的尝试DOMParser,我保留它以供将来关于该主题的实验使用:https://jsfiddle.net/svaqb2wn/2/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web Worker 内部的 DOM 操作 的相关文章

随机推荐

  • 使用 Core Graphics/Cocoa,您可以从后台线程绘制位图上下文吗?

    我正在屏幕外绘制CGContext创建使用CGBitmapContextCreate 然后生成一个CGImage从它与CGBitmapContextCreateImage并将其绘制到我的视图中drawRect 我还在此基础上绘制了一些其他内
  • Mac 上公钥加密/解密的示例代码?

    在哪里可以找到一些在 Mac OS X 上进行公钥加密和解密的简单示例代码 我很沮丧的是 Apple 的 证书 密钥和信任服务编程指南 展示了如何在 iOS 上执行此操作 但所需的 API SecKeyEncrypt SecKeyDecry
  • 如何使用WPF打开颜色和字体对话框?

    我想在 WPF net 4 5 中显示颜色和字体对话框 该怎么办 请任何人帮助我 感谢高级 最好的开箱即用解决方案是使用FontDialog form System Windows Forms程序集 但您必须转换其输出才能将其应用到 WPF
  • Gunicorn 使用 docker-compose 优雅地停止

    我发现当我使用 docker compose 关闭我的gunicorn 19 7 1 python应用程序 总是需要10s才能关闭 这是 docker compose 在强制终止进程之前等待的默认最大时间 根据 t timeout范围 我认
  • 适用于 Windows 的 Grep

    Old txt包含 apple orange banana And New txt包含 apple orange banana grape lemon 我可以访问添加到的新内容New txt using grep命令 grep Fxvf O
  • Python 中可以重载 from/import 吗?

    Python 中是否可以重载 from import 语句 例如 假设jvm object是类的一个实例JVM 是否可以编写这样的代码 class JVM object def import func self cls return som
  • javascript中self和this的区别以及何时使用它们[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 习语 var self this 的基础是什么 我很困惑何时在 javascript 中使用 self 和 this 我知道this指的是当前上下文并且self指当前窗口 当我正
  • 反序列化为双精度时,JsonConvert 抛出“不是有效整数”异常

    当我尝试从 JSON 字符串反序列化为对象时 出现异常 Input string 46 605 is not a valid integer Path LatitudeCenter 这真的很奇怪 因为JsonConvert尝试反序列化一个整
  • 使用push命令在Z3中增量求解

    我正在使用 Z3 的 python api 进行某种增量求解 我迭代地向求解器推送约束 同时使用以下命令检查每个步骤的不满足性solver push 命令 我想了解 Z3 是否会使用从先前约束中学习到的引理 或者使用新添加的约束进行求解时先
  • 禁用 Eclipse Remote Systems Explorer 的 Sonarlint 自动扫描

    如何在 Eclipse 中禁用远程系统资源管理器插件的 SonarLint 自动扫描 背景 我最近为 Eclipse 安装了 SonarLint 插件 因为我工作的一个客户使用 Sonar 来提高代码质量 并且喜欢直接报告错误和代码异味 现
  • Javascript 表单验证和密码确认

    我正在尝试编写一个注册页面 但我遇到了最困难的时期
  • 从 ASP.NET Web API 中删除 XML 中的命名空间

    如何使用 Web API 从下面的 xml 响应中删除命名空间
  • 名称不能以“1”字符开头,十六进制值 0x31。 2 号线,2 号位置

    在 C 应用程序中加载 XML 文件时 我得到 名称不能以 1 字符开头 十六进制值 0x31 2 号线 2 号位置 XML 标签是这样开始的
  • /tmp/tomcat-docbase 始终使用 Spring Boot JAR 创建(但不是 WAR)

    我正在从 STS 创建一个标准 Spring Boot 1 5 2 Web 项目 如果运行此应用程序 您会创建两个目录 普通的 base 目录和 tomcat docbase 目录 4096 Mar 29 10 00 tomcat 2743
  • JSON输出重音问题

    我已经搜索了大约 3 个小时 我知道有很多像这样的问题已经被问过 但在尝试输出重音字符时 我还没有找到任何适合我的问题的解决方案我的数据库上的 SELECT 查询的结果 itemsList array while row mysql fet
  • 修改图像元数据

    我正在尝试修改 JPEG 图像中包含的元数据 它可以是图像中的任何元数据 在我的示例中 我尝试更改为DateTimeDigitized财产到当前日期 我的代码似乎大部分工作 但是设置的属性被删除而不是更改 我不确定为什么会发生这种情况 谁能
  • 如何通过PHP删除文件?

    如果文件位于另一个目录中 如何使用 PHP 从服务器中删除该文件 这是我的页面布局 projects backend removeProjectData php 此文件删除了我在数据库中的所有条目 并且还应该删除相关文件 public fi
  • pandas astype 类别不起作用

    我厌倦了将列更改为catgeory使用来自的文档http pandas pydata org pandas docs stable categorical html df pd DataFrame A 1 2 3 4 5 B a b c d
  • 为什么这条 Scala 行返回一个 Unit?

    下面是一段 Scala 代码 用于对 1 到 9 之间可被 3 或 5 整除的值求和 为什么第 5 行返回 Unit 而不是 Boolean 类型 object Sample def main args Array String val a
  • Web Worker 内部的 DOM 操作

    我知道工人can t直接操作文档 但是 DOM API 方法怎么样 他们去哪儿了 例如 如果我发出一个接收 HTML 片段的请求 如果只需要解析它以便从特定节点检索一些数据 我应该做什么 绝对有no way在 Web Worker 上使用虚