4

希望这不是一个愚蠢的问题。
我最近对一件我非常好奇的事情有了一个想法。
我是 Node.js 的粉丝(我认为在这里并不相关)和 V8 引擎,但我想知道它是否可以运行浏览器(让它执行 JS)但在内部。

我的意思是创建一个程序(可能使用 V8 引擎),它可以打开一个页面(就像在浏览器中一样)并执行它的 javascript。

例如说我有以下文件托管在 www.mysite.co.uk/home.php

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
//javascript AJAX call to www.mysite.co.uk/ping.php
}
myFunction();
</script>
</head>

<body>
</body>
</html>

ping.php 看起来像:

<?php
//connect mysql, database ping and table ping
//it is a single column table with integer value starting on 0
//increment by 1 and update the table

假设我想通过在我的命令行/linux 框中使用某种脚本来执行 Javascript(基本上不使用浏览器)。

所以像:

./mybrowser http://www.mysite.co.uk/home.php

甚至:

./mybrowser home.php

我觉得这应该是可能的,因为 V8(或不同的 JS 引擎)在技术上应该能够执行 Javascript,但我不知道它是如何在浏览器上下文之外执行的(或者即使它可能)。

有任何想法吗?

4

2 回答 2

4

您可以使用任何 js 引擎来运行 js 脚本,只要它们不依赖 DOM。

您可以从查看以下内容开始:

编辑:据我了解,您想要一个无头浏览器,这里有一些:

  • HTMLUnit(我用那个进行单元测试)
  • 幻影JS
  • 僵尸.js
于 2013-02-28T09:25:23.477 回答
0

使用 Rhino for Java 或 Windows Script Host 在命令行上运行 JavaScript。

http://www.mozilla.org/rhino/

http://msdn.microsoft.com/en-us/library/9bbdkx3k%28VS.85%29.aspx
于 2013-02-28T09:27:07.957 回答