phantomjs在一台机器上运行,但在另一台机器上找不到jquery?

时间:2014-12-29 05:12:05

标签: jquery phantomjs

phantomjs在一台机器上工作,但在另一台机器上运行完全相同的命令时会返回错误

Can't find variable: $ 

包含二进制文件,脚本和其他文件的phantomjs文件夹是两台计算机上相同源的副本。

两台机器都是centos。

我正在运行的命令是以PDF格式打印网页的命令。它在第一台机器上工作正常。

命令

/opt/phantomjs/bin/phantomjs script.js url

的script.js

...
page.open(req.url, 'get',  function (status) {
...
page.evaluate(function() {

var elements = document.getElementsByClassName('no-print');
while(elements.length > 0){
    elements[0].parentNode.removeChild(elements[0]);
  }
});

page.render(output, {format:'pdf'});
...
phantom.exit();


});

我缺少什么设置?

更新

  • 手动包含jquery后,我没有收到错误,但是性能非常慢,结果只有一个空页。

  • 我在脚本中没有使用jquery的情况下尝试了两台机器,第二台没有使用jquery。

2 个答案:

答案 0 :(得分:2)

尝试从托管网站明确包含jquery:page.includeJs('http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js', function(){<your logic>});。 Jquery仅在您访问的网页包含或添加时才可用。

答案 1 :(得分:1)

我的问题的解决方法是添加

127.0.0.1 hostname.com

/etc/hosts