从节点启动的Javascript中访问呈现的HTML页面的元素

时间:2019-04-10 12:18:30

标签: javascript node.js html5

我正在从javascript渲染HTML页面。我需要定期刷新某些内容。我从节点启动JS,我使用sendFile()方法将HTML内容呈现到本地主机。问题是如何访问渲染内容中的元素?

我正在考虑的一种可能方法是网络抓取。我遵循index.js中的顺序,如下所示:readFile(myHtml)->抓取并修改内容-> renderFile(myHtml)..这是唯一的方法吗?还是我们有任何优雅的方法?我知道Angular中有一种方法,但是目前我正在使用普通的香草JS,我想进行快速修复。

谢谢

1 个答案:

答案 0 :(得分:0)

由于没有答案,我对上面的问题做了很多研究,因此终于找到了解决我问题的正确方法。因此,我要分享的答案不是上述问题的直接答案,而是我一直在寻找的整体解决方案。我承认我并没有分享我的全部问题,我只是想快速解决以前方法中遇到的障碍。

我想使用访问令牌定期刷新我的网页,该访问令牌在会话之后会过期。在我以前的方法中,我使用后端来处理从Auth服务器获取令牌和刷新网页的任务。因此,我从后端加载了html,并考虑到每次都用新值刷新它,以便能够进行抓取,更新和准备好新页面。但是,由于res.send()或res.writeFile()方法因“ Err:标头已设置,无法再设置标头”错误消息而失败,每次刷新均失败。

因此,我查看了自己的体系结构,并意识到将任务分为前端和后端是可能的。因此,每次使用后端传递的令牌,前端脚本都会刷新页面,后端在会话过期之前获取了新的令牌,并使用socketio将其传递给了前端。在fronend和后端之间传递值有几种方法,但是我发现它更方便,我们也可以使用自定义事件。

因此,我从中学到的教训是:“当问题如此罕见时,请重新看一下您的体系结构”。

希望这篇文章可以帮助处于类似情况的人。