以网页上的这段代码为例。
<html><body>
<script language="javascript">
document.write("The cat");
document.write(" sat on the mat");
</script>
</body></html>
如果我通过 CURL 或 WGET 检索此网页,我会得到该文本,因为 Javascript 尚未处理。
但我想检索这个页面,所以我得到了 Javascript 输出的结果。所以我会得到只是..
The cat sat on the mat
是否有一些 Linux Javascript 沙箱/模拟器/预处理器或类似的东西可以让我将该文本处理为 html。我知道 Javascript 很复杂,并且不期望 100% 的转换。但即使获得一些基本的转换也会有所帮助。
我知道这是可能的,因为我确信谷歌在索引网页时会这样做,以获得他们索引的网页的最佳结果。
答案1
不存在“Javascript 到 HTML 转换器”这样的东西。 Javascript 是一种编程语言,而不是标记语言。浏览器不会将Javascript转换为HTML,而是执行Javascript代码,而Javascript代码的作用是修改HTML。您需要的是一个可以处理 HTML 文档的 Javascript 解释器。
实现此目的的一种方法是在后台使用浏览器引擎。硒和瓦提尔(两种 Web 应用程序测试引擎)是调用 Web 浏览器并使用脚本驱动它的流行选择 — 请参阅除了 SeleniumRC 之外,还有什么好的工具可以获取包含 JavaScript 后绘制内容的网页吗?。
答案2
你可以试试带有 Javascript 的 elinks支持。一旦构建完成,只需输入:
elinks --转储 1http://www.example.com/my-js-page.html
这样就可以了。他们的文档说 Javascript 支持不是很好,但这是另一种方法。
答案3
答案4
郑重声明一下,从技术上讲,有一种方法可以将 JavaScript 转换为 HTML。
我经常在Chrome和FireFox中使用inspect element,这是我学习HTML的第一个地方。如果您将 JavaScript 粘贴到检查元素中,它将无法识别其功能。我找到了解决方法。我自学了我所知道的一切,这使得我更容易弄清楚这一点。这是一个例子:
JavaScript:
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "Hello World";
}
</script>
JavaScript 到 HTML:
getElementById('demo').innerHTML='Hello World';
HTML 读取 HTML 代码的方式与 JavaScript 不同,因此我必须简化 JavaScript 才能获取 HTML 代码。从技术上讲,它是 JavaScript,因为它执行 JavaScript 功能,但它仍然是 HTML,因为它是 HTML 形式。