使用crontab在服务器上运行Javascript文件

时间:2016-11-10 15:17:31

标签: javascript php node.js cron crontab

我有一个JavaScript文件,它进行一些处理并最终调用一个php文件。我需要使用cron选项卡在服务器上执行整个处理。

我可以将我的JavaScript文件编写为

<?php
    echo '<script type="text/javascript"> // JS code ... </script>';
?>

然后使用crontab运行php文件?

或者

我应该使用node.js在服务器上使用cron标签运行我的JavaScript文件吗?

2 个答案:

答案 0 :(得分:1)

您必须选择是否要在服务器或客户端中运行javascript代码。

在第一种情况下,您需要使用node.js,因为它是服务器端。如果您的javascript代码必须在客户端中运行,您可以在浏览器上安装附加组件以不时自动生成(您也可以执行模拟该请求的程序)。

答案 1 :(得分:1)

在OP澄清之后,你需要的是一个无头浏览器(一种由机器而不是人类运行的浏览器模拟器),运行你的客户端Javascript代码(带有你的xmlHttp请求等)。

您可以在此处找到无头浏览器列表

  • HtmlUnit - Java。定制浏览器引擎。有限的JavaScript支持/ DOM模拟。开源。
  • Ghost - 仅限Python。基于WebKit的。完整的JavaScript支持。开源。
  • Twill - Python /命令行。定制浏览器引擎。没有JavaScript。开源。
  • PhantomJS - 命令行/所有平台。基于WebKit的。完整的JavaScript支持。开源。
  • Awesomium - C ++ / .NET /所有平台。铬为主。完整的JavaScript支持。商用/免费。
  • SimpleBrowser - .NET 4 / C#。定制浏览器引擎。没有JavaScript支持。开源。
  • ZombieJS - Node.js.定制浏览器引擎。 JavaScript支持/模拟DOM。开源。基于jsdom
  • EnvJS - 来自Java / Rhino的JavaScript。定制浏览器引擎。 JavaScript支持/模拟DOM。开源。
  • Watir-webdriverheadless gem - Ruby通过WebDriver。通过浏览器(Firefox / Chrome / Safari / IE)提供完整的JS支持。
  • Spynner - 仅限Python。 PyQT和WebKit。
  • jsdom - Node.js.定制浏览器引擎。通过模拟DOM支持JS。开源。
  • TrifleJS - 使用MSIE(Trident)和V8的PhantomJS端口。开源。
  • ui4j - 纯Java 8解决方案。围绕JavaFx WebKit Engine的包装库。无头模式。
  • Chromium Embedded Framework - 完整的Chromium嵌入版本,可根据需要进行屏幕外渲染。 C / C ++,包含.NET包装器(和其他语言)。由于它是Chromium,它支持所有。 BSD许可。
  • Selenium WebDriver - 通过浏览器(Firefox,IE,Chrome,Safari,Opera)全面支持JavaScript。官方支持的bindings是C#,Java,JavaScript,Haskell,Perl,Ruby,PHP,Python,Objective-C和R.非官方绑定可用于QtGo。开源。

摘自https://stackoverflow.com/a/814929/460306