gpt4 book ai didi

node.js - 幻 Node 模块无法加载外部资源

转载 作者:搜寻专家 更新时间:2023-11-01 00:08:19 30 4
gpt4 key购买 nike

我正在一个 nodejs 服务器上工作,它将发布的 html 呈现为 pdf、png 或 jpg。( https://github.com/svenhornberg/pagetox (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>

代码应该没问题。 但呈现的响应图像不包含 Logo 图像。如 phantomjs 文档 ( http://phantomjs.org/api/webpage/property/settings.html ) 中所述,localToRemoteUrlAccessEnabled 设置为 false,因此将其设置为 true,如 phantom-node ( https://github.com/sgentle/phantomjs-node/ ) 文档中所述:

  page.set('settings.localToRemoteUrlAccessEnabled', true);
page.set('settings.loadImages', true);

为了证明它被设置为 true,我调用了一个返回 true 的 getter

  page.get('settings.localToRemoteUrlAccessEnabled', function(data) { console.log(data);});

我在 Linux 上将 Node v0.10.26 与 phantomjs-node (0.6.1)、phantomjs(1.9.7) 一起使用

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

我正在使用渲染方法生成 png、jpg 或 pdf 文件。我将评估函数中的方法作为回调调用,因此网站应该已完全加载。(完整代码在 https://github.com/svenhornberg/pagetox/blob/master/server.js )

Edit1:我没有使用代理,这可能会阻止请求。

最佳答案

看来我需要设置超时并等待所有外部资源加载完毕。

page.set('content') dosen't work with dynamic content in phantomjs

我让它工作了,但超时不是我想要的。如果我找到任何更好的方法,我会发布它。

关于node.js - 幻 Node 模块无法加载外部资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23461116/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com