2013-02-28 119 views
3

希望這不是一個愚蠢的問題。
我最近有一些想法,我很好奇。
我是Node.js的粉絲(在這裏並不真正相關)和V8引擎,但我想知道是否可以運行瀏覽器(讓它執行JS),但是INTERNALLY。從腳本/命令行執行瀏覽器頁面/ javascript

我的意思是創建一個程序(可能使用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,但我在瀏覽器上下文中(或者即使可能),它也可以做到這一點。

任何想法?

+2

你的意思是一具無頭的瀏覽器,如[PhantomJS(http://phantomjs.org/)? – Teemu 2013-02-28 09:24:11

+0

是一對谷歌搜索,並找不到這...看起來只是想....會給它一個嘗試和更新票......非常感謝 – 2013-02-28 09:27:45

回答

3

只要不依賴於DOM,您可以使用任何js引擎來運行js腳本。

編輯:

你可以通過觀察開始,因爲我知道你想一個無頭的瀏覽器,這裏有一些:

  • 的HtmlUnit(我用的是一個用於單元測試)
  • PhantomJS
  • Zombie.js
+0

獨立似乎是從命令行JS ...我需要它能夠完成瀏覽器所能做的所有事情,但無需瀏覽器......感謝 – 2013-02-28 09:27:04

+0

做一切瀏覽器可以做的事聽起來很像你最終需要一個瀏覽器,所以你的意思就像瀏覽器,但沒有窗口/用戶界面? – 2013-02-28 09:38:14

+0

是的,所以腳本可以多次打開/執行一個網站,併產生與用戶一樣的結果...它可以是非常有用的商業和個人的很多東西 – 2013-02-28 09:44:30

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 
+0

嗯,而不是使用Java和不信任任何東西微軟出來與大聲笑...對不起,但認爲我會去PhantomJS @Teemu提到 – 2013-02-28 09:28:41

+0

好吧,這只是另一種方式。好,你有答案:) – 2013-02-28 09:30:40