gpt4 book ai didi

javascript - 在服务器上实现 HTML DOM 重写逻辑

转载 作者:搜寻专家 更新时间:2023-10-31 23:49:29 25 4
gpt4 key购买 nike

我的应用程序在加载时在客户端对 DOM 进行了大量重写。它遍历页面扫描特殊标记(想想 Markdown)或其他模式,用有时相当复杂的 DOM 结构(使用 DOM 调用,例如 createElement)替换它们来设置文本样式,但也创建图表和图形。

我采用这种架构是为了避免任何构建或预处理步骤。它在桌面浏览器中运行良好,但在移动设备上明显变慢(几秒钟,即使经过不懈的优化)。所以我想重新构建系统以预扫描页面并预构建 DOM。我在弄清楚如何执行此操作时遇到了一些心理障碍。显然,我不希望用其他服务器端语言重写所有 Javascript。另外,我想像现在一样保留在加载时进行构建的选项,基本的重写逻辑共享相同的代码。

听起来最有可能的选择是将其构建为 Node 应用程序,尽管我是 Node 初学者。使用 jsdom 来解析输入和修改 DOM。或者,由于我是 XSLT 的粉丝,并且对 Saxon-CE 很感兴趣,即使这意味着重写所有内容,我也考虑在 XSLT 中实现扫描/重写逻辑,从 Node 调用(用于预构建案例——人们从 Node 使用 Saxon 吗?)或浏览器(用于加载时构建案例)。

任何人都可以评论这种方法或提出其他想法吗?

最佳答案

不确定您要处理的大量 DOM 重写的具体用例,我也不确定您的吞吐量要求是什么。也就是说,node/jsdom 路由的另一种方法可能是运行一个 headless Webkit 浏览器农场,并在该实时渲染上下文中按原样运行当前的 JavaScript。这将允许您将处理从那些笨拙的移动 CPU 转移到任意可扩展的云资源中(假设这对您的项目/业务来说是负担得起的),并且根本不需要重写或调整您当前的工作代码。

关于javascript - 在服务器上实现 HTML DOM 重写逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12684061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com