使用 jsdom 加载 ajax 应用程序

2023-12-24

我正在寻找一种解决方案来在服务器上引导客户端应用程序(用 Backbone.js 编写),以便我可以为爬虫和非 js 消费者提供正确的内容。

我一直在尝试使用 jsdom 和 Node js 来引导应用程序,并且可以加载基本模板内容,但应用程序似乎永远不会启动。

我尝试了两种不同的解决方案,以确保我拥有所有必要的依赖项并且应用程序正确加载:

  1. 我尝试将 jsdom.env() 与通常包含在内联的所有脚本一起使用。
  2. 我尝试使用 jsdom.jsdom() 并确保 FetchExternalResources、ProcessExternalResources 和 MutationEvents 均正确且打开。

不过,似乎都没有触发 window.onload 事件。我想知道 jsdom 是否可能不会触发它,或者可能在通常被触发后调用它的回调?

这是 jsdom 中可以完成的任务吗?


我不会等待 window.onload 因为 jsdom 还没有获取图像/css。使用 jsdom.env 时,您可以简单地将回调视为“嘿,现在一切都准备好了”事件。

如果您的应用程序依赖于 window.onload,您可以在上述回调中触发它。

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

使用 jsdom 加载 ajax 应用程序 的相关文章

  • Express中间件修改请求

    我目前有一个正在运行的服务器 前端使用nodejs mongo express 和 W2UI W2ui 请求来自包含所有参数的记录数组 记录 名称 foo 我想编写一个中间件 在请求到达路由之前对其进行编辑和更改 您可以创建自己的中间件来处
  • express-hbs 实例 registerAsyncHelper 奇怪的哈希值

    我正在使用express hbs nodejs模块 但在使用时遇到问题registerAsyncHelper 我需要在限制范围内编译布局 因为我创建了一个新的 Handlebars 实例 并在该实例中创建了一个助手 但是当我编译布局时 它返
  • 使用 MVC 5 和实体框架的 jQuery 数据表

    我需要一些关于在控制器中放入什么内容的指导 以便我可以对 jQuery 数据表使用服务器端处理 我正在使用 MVC 5 和实体框架 示例位于 http datatablesmvc codeplex com documentation htt
  • axios 请求中未发送正文数据

    我试图通过 axios 请求将数据发送到我的后端脚本 但正文看起来是空的 这是前端发送的请求 axios request method GET url http localhost 4444 next api headers Authori
  • 纤维/未来实际上有什么作用?

    下面这行代码的作用是什么 Npm require fibers future 我在网上查找示例 发现了一些这样的示例 Future Npm require fibers future var accessToken new Future 什
  • Nodejs 中的子域

    如何处理nodejs的子域请求 例如以下代码回显test在控制台中的任何请求http localhost 9876 任何内容 http localhost 9876 5Banything 5D var http require http h
  • Node.js 升级在 Windows 中仍然显示旧版本

    我已使用 msi 安装程序下载并安装了新版本的 nodejs 4 1 2 之后我跑了node v 但它仍然显示旧版本 0 12 2 我尝试重新启动Windows 甚至卸载nodejs并重新安装它 但仍然显示相同的内容 为什么会发生这种情况
  • Meteor.setTimeout 和 Meteor.methods 之间的并发

    在我的 Meteor 应用程序中实现回合制多人游戏服务器 客户端通过发布 订阅接收游戏状态 并且可以调用 Meteor 方法sendTurn将回合数据发送到服务器 他们无法直接更新游戏状态集合 var endRound function g
  • 呃!尝试将包发布到 npm 时出现 403

    我正在尝试将包发布到 npm 您可以在此处查看存储库 https github com biowaffeln mdx state https github com biowaffeln mdx state 我登录到 npmnpm login
  • 如何为我的整个 Node.js 应用程序使用相同的 MySQL 连接?

    我有一个app js 我从那里运行我的整个应用程序 在 app js 内部 我require许多文件中都有代码 对于每个文件 我都这样做 var mysql require mysql var mclient mysql createCon
  • 对于实时网站使用 Node.js 或 Ringojs 安全吗?

    正如标题中所述 我想知道使用实际的 omg 平台 即 Node js 和 Ringo js 的实际版本 之一来开发网站是否安全 另外 我想知道他们是否支持cookie sessions以及他们如何处理多字段帖子 PHP中的fieldname
  • Node JS - 如何检测用户语言

    我正在尝试在纯 Node js 中检查用户语言 而不使用 npm 的任何扩展 我使用了进程和全局命令 有很多规范但我找不到系统语言 这是获取默认区域设置的独立于操作系统 节点 浏览器的方法 let locale Intl DateTimeF
  • 由于 Chrome 修订,Firebase puppeteer PDF 功能超时

    我有一个 Firebase 函数来创建 PDF 文件 最近 由于 Chrome 修订版 而超时 我既不明白错误消息 也不明白出了什么问题 当我在 MacOS 下将其本地部署时 该功能有效 TimeoutError Timed out aft
  • 如何将 emscripten 浏览器输入法从 window.prompt 更改为更合理的输入法?

    我有一个 C 函数 一旦调用它就会消耗来自 stdin 的输入 使用 emscripten 将此函数导出到 javascript 会导致调用 window prompt 与浏览器提示交互确实是一项乏味的任务 首先 您一次只能粘贴一行 其次
  • NestJS e2e 测试模拟会话装饰器

    我正在尝试使用 supertest 编写一个 e2e 测试 其中我的控制器实际上使用了 Session 装饰师 然而 我不想承担使用数据库连接等启动会话的全部负担 因此测试中的我的应用程序实际上并未初始化会话 相反 我想首先模拟掉装饰器提供
  • Cosmos DB Mongo API 如何管理“请求率很大”情况

    我有以下代码 async function bulkInsert db collectionName documents try const cosmosResults await db collection collectionName
  • 找不到“节点”的类型定义文件

    更新 Angular Webpack 和 TypeScript 后出现奇怪的错误 知道我可能会错过什么吗 当我使用 npm start 运行应用程序时 出现以下错误 at loader Cannot find type definition
  • 发送 POST 请求时 JSON 原语无效

    我有以下 ajax 请求 其中我尝试将 JSON 对象发送到服务器 function sendData subscriptionJson ajax type POST url Url Action SubscribeSecurities S
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • Nodejs Express中间件函数返回值

    我正在使用 NodeJS 和 Express 我有以下路线 中间件功能是Mobile 如果我不使用 return next 在 isMobile 函数中 应用程序会卡住 因为 NodeJS 不会移至下一个函数 但我需要 isMobile 函

随机推荐

  • “易失性”是否能保证多核系统的可移植 C 代码中的任何内容?

    看了一个之后 of https stackoverflow com questions 78172 using c pthreads do shared variables need to be volatile 问题 https stac
  • windows azure 中的子域映射

    我正在使用 VS 2010 WCF 和 Windows Azure 开发任务管理系统 这是一个简单的个性化任务管理应用程序 该应用程序允许用户组织和共享他们的任务 将没有 我的项目中的用户数 如果有人 订阅 该应用程序 那么我们需要使用子域
  • 传统日志记录与 AOP 日志记录

    我正在开始这个新项目 我们正在研究我们的日志记录 调试方法 我想向你们其他人提出这个问题 因为 private final static Logger logger LoggerFactory getLogger getClass publ
  • 绘图数字化 - 从图形图像中抓取样本值

    这并不是真正的 OCR 因为它不识别字符 但它与应用于曲线的想法相同 有人知道用于从 光栅 绘图图像检索值的图像处理库或已建立的算法吗 例如 在这张图中 我很难用眼睛读取精确的值 因为网格线之间存在这样的间隙 我可以使用直尺或其他工具 但它
  • 如何实现Linq OrderBy方法?

    我试图更多地了解 linq 例如 如果我想实现一个 Select 我会像这样实现 public static IEnumerable
  • ActionBarDrawerToggle 无法应用于 Android.support.v7.widget.Toolbar

    我不断收到错误消息 说 ActionBarDrawerToggle 无法应用于 v7 widget Toolbar 因为我查看了其他人如何修复类似问题 它们现在都是支持库文件 但由于某种原因错误并没有消失 错误说ActionBarDrawe
  • 如何防止 JList 在单元格边界之外进行选择?

    当用户单击列表中最后一个元素时 有什么方法可以阻止 JList 选择最后一个元素吗 这是有人问的问题here http objectmix com java 72850 jlist selection outside cell bounds
  • 使用通用 IHostBuilder 时访问 IServiceProvider

    我在用着IHostBuilder在 NET Core 2 1 控制台应用程序中 主要看起来像这样 public static async Task Main string args var hostBuilder new HostBuild
  • Java错误缺少返回语句

    好吧 我正在尝试编写这段代码 但我不断收到这个愚蠢的错误 我不知道我做错了什么 所以也许你们中的一位专家可以帮助我 import java util public class School Random randQuest new Rand
  • 有没有办法在单击 后重新加载页面?

    我想知道这一点 我有一个简单的 facebook 连接应用程序 只有在您登录并喜欢某个页面后才会显示某些内容 它有效 huzzah 但我想让它在您按下 喜欢 按钮后自动刷新 从而使其更加用户友好 这是一些代码
  • Wicket:如何处理长时间运行的任务

    我已经设置了一个 Wicket Hibernate Spring Web 应用程序 其中涉及收集一些数据 生成并返回一些文件 将其存储在数据库中 创建一些图像并将所有这些显示在网页上 这对于短期运行来说效果很好 但有时收集数据 涉及一些远程
  • 玩!框架 1.2.4 --- C3P0 设置以避免通信链路故障影响空闲时间

    我正在尝试自定义我的 C3P0 设置以避免本文底部显示的错误 这是在这个网址上建议的 http make it open blogspot com 2008 12 sql error 0 sqlstate 08s01 html http m
  • Vanilla Javascript 类中的“计算属性”

    The 计算属性该功能在流行的 JS 框架 React VueJS 中很常见 但是我们如何在普通 JS 中实现这个功能呢 假设给定一个User类 具有dateOfBirth属性 我们想计算它的age 有没有比下面的代码更好的方法来执行此任务
  • 在 View Pager 中的 Fragment 之间传递数据

    在视图分页器中的片段之间传递数据时需要帮助 我们尝试在片段内将数据作为包传递 在 Fragment getInstance 方法内部 尝试从其他 Fragment getArguments 获取数据 活动代码 package com nor
  • jQuery ajax 请求因跨源而被阻止

    如何通过ajax从远程url获取内容 jQuery ajax 请求因跨源而被阻止 控制台日志 跨源请求被阻止 同源策略不允许读取 远程资源位于http www dailymotion com embed video x28j5hv http
  • clang 构建 qt 的 mkspecs 是什么?

    如果我想在Windows下使用gcc构建qt 配置选项是 platform win32 g 但是当我想使用clang构建qt时 该选项是什么 clang windows 组合没有 我认为根据 linux g 和 linux clang 之间
  • Twitter Fabric - 无法解析符号

    我已经为 Android Studio 安装了 Twitter Fabric 插件 这很简单直接 但是当我从 Fabric 对话框复制并粘贴代码时 我的项目无法识别任何 Twitter 对象 例如以下行 private TwitterLog
  • Express 中间件、next 和 Promise

    有一个非常简单的带处理程序的 Express 路由器 router get users userId roles roleId function req res next const roleId req params roleId res
  • 如何知道客户端是否已在套接字中终止

    假设 写完这段代码后我有一个已连接的套接字 if sd accept socket d struct sockaddr client addr alen lt 0 perror accept failed n exit 1 我如何在服务器端
  • 使用 jsdom 加载 ajax 应用程序

    我正在寻找一种解决方案来在服务器上引导客户端应用程序 用 Backbone js 编写 以便我可以为爬虫和非 js 消费者提供正确的内容 我一直在尝试使用 jsdom 和 Node js 来引导应用程序 并且可以加载基本模板内容 但应用程序