我有一个基于 C 的应用程序。它访问网页并获取html数据、javascript等。html数据可能包含javascript代码,我需要执行javascript代码。
我已将 V8(Chrome 中使用的 JavaScript 引擎)集成到我的 C 代码中。
我想知道执行 JavaScript 代码的最佳逻辑是什么。
我认为的逻辑之一,
所有下载的 javascript 都将使用 V8 加载/执行。这将使 Javascript 加载到内存中,并且可能不会有任何有用的输出。
当我获取带有 script 标记的 html 数据(例如某些 javascript 代码)时,我将在 script 标记内执行 javascript 代码。
这是正确的逻辑吗,还是我遗漏了一些东西。或者如果您有更好的建议,请分享。
编辑1
基本上我的问题是,当我扫描 HTML 数据并执行 HTML 数据中存在的 javascript 时,我需要遵循的最佳逻辑是什么。
编辑2
让我们以 JMeter 为例。它获取 HTML 、 Javascript 数据并执行 javascript。我相信在 Java 中也是如此。我需要在 C 中做同样的事情。为此,我在代码中集成了 V8。我现在缺少的是,扫描 HTML 数据并执行 javascript 代码的最佳方法是什么。
最佳答案
你不能真的这样做。 V8 只是 JavaScript 解释器/VM。许多预期的 API 都是浏览器的一部分。例如,DOM、时间、网络等将不起作用。您下载的网页很可能也需要它们。
正确的解决方案是包含 chromium 或其他浏览器后端的完整副本。
关于javascript - 从 HTML 数据运行 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58803445/