Node.js 虚拟节点模块无法加载外部资源

Node.js 虚拟节点模块无法加载外部资源,node.js,phantomjs,Node.js,Phantomjs,我正在一个nodejs服务器上工作,它将发布的html呈现为pdf、png或jpg。 ((server.js)如果您想尝试的话) 这是非常好的工作,渲染复杂的网站,但只有到这一点,我想加载一个简单的图像。例如,我正在向我的服务器发送以下代码: <!doctype html> <html> <head> <title>logo</title> </head> <body> <img alt="logo

我正在一个nodejs服务器上工作,它将发布的html呈现为pdf、png或jpg。 ((server.js)如果您想尝试的话)

这是非常好的工作,渲染复杂的网站,但只有到这一点,我想加载一个简单的图像。例如,我正在向我的服务器发送以下代码:

<!doctype html>
<html>
<head>
  <title>logo</title>
</head>
<body>
  <img alt="logo" src="http://upload.wikimedia.org/wikipedia/commons/d/de/Wikipedia_Logo_1.0.png">
</body>
</html>
为了证明它设置为true,我调用了一个getter,它返回true

  page.get('settings.localToRemoteUrlAccessEnabled', function(data) { console.log(data);});
我在linux上使用节点v0.10.26和phantomjs节点(0.6.1)、phantomjs(1.9.7)

现在的问题是,有人看到错误了吗?或者可以给我一个暗示我做错了什么。或者为什么phantomjs/phtanom节点没有加载任何外部图像的任何其他可能性

我正在使用render方法生成png、jpg或pdf文件。我将evaluate函数中的方法作为回调调用,因此应该完全加载站点。 (完整代码位于)


Edit1:我不是在代理后面,代理可能会阻止请求。

您要设置的是

page.set('settings.webSecurityEnabled', false);
它支持跨域请求。另一个选项
localtoremoteurlacessenabled
不会影响您的案例,因为您不使用
file:
资源,而是覆盖about:blank


其他问题可能与SSL/TLS有关。有关更多帮助,请参阅我的答案。

看起来我需要设置一个超时,并等待所有外部资源加载


我让它工作,但超时不是我想要的。如果我找到更好的方法,我会把它发出去。

谢谢,很高兴知道,但它还是一样的。但我让它超时工作:/
page.set('settings.webSecurityEnabled', false);