首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在node.js中找到HTML元素的高度?

如何在node.js中找到HTML元素的高度?
EN

Stack Overflow用户
提问于 2013-11-21 13:27:30
回答 1查看 3.1K关注 0票数 2

我被一个相当棘手的问题困扰了几天。我在node.js中的变量中有一个自动生成的HTML页面。我需要找到一些HTML元素的高度,并进行HTML操作(如标记创建、删除、附加、css属性设置等)。

显然,我需要首先为我的HTML页面创建一个类似DOM的结构,然后继续。

对于HTML操作,我有许多选项,如cheerionode.iojsdom等,但这些选项都不能让我在节点上找到元素的高度。

因此,在浪费了相当多的时间之后,我决定寻找更重的解决方案,比如实现无头浏览器(phantomjs等)。在节点上通过普通的javascript驱动元素offsetHeight

有人能告诉我这样能不能达到我的目标吗?什么样的无头浏览器最适合这项任务?

如果我走错了方向,还有人能给我其他的解决办法吗?

在这一点上,我准备尝试任何事情。

提前处理!!

注意:在客户端使用javascript在我的特殊情况下有很多问题,因为生成的HTML页面的内容应该被客户端用来粘贴到他的网站中。留下一个正在运行的javascript来重新构造HTML将使他在最后变得很困难。

EN

回答 1

Stack Overflow用户

发布于 2013-11-21 15:58:10

节点的服务器端HTML库(如cheerio和jsdom)严格来说是DOM仿真库。它们不试图实际呈现文档,这是计算元素大小和位置所必需的。

如果确实需要计算服务器上元素的大小,则需要像PhantomJS这样的无头浏览器。它是一个带有WebKit API的完整JavaScript呈现程序。它完全独立于节点,所以您需要使用幻影API编写实用程序脚本,或者使用npm模块,它允许您从节点控制幻象。

在阅读了问题下面的注释后,很明显,您不应该计算服务器上的高度。客户端代码是正确的地方来做它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20122279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档