PhantomJs:我可以从具有动态设置内容的页面访问相对资产吗



给定以下文件结构:

project-folder
 |- images/
 |  |- foo.png
 |
 |- script.js 

类似以下幻影脚本:

var page1 = require("webpage").create(),
  page2 = require("webpage").create();
page1.content = "<img src='images/foo.png'/>";
page2.content = "<img src='file:///path/to/project-folder/images/foo.png'/>";
// give the images some time to load
setTimeout(function () {
  page1.render("pdf1.pdf");
  page2.render("pdf2.pdf");
  phantom.exit();
}, 10);

运行后,foo.pngpdf2.pdf中正确显示,但在pdf1.pdf中不正确显示。

我需要呈现一个大的HTML文件,其中包含许多具有相对路径的图像,如page1中所示。

虽然可以使用某种疯狂的regex来完成标记,并在设置内容之前手动将所有图像src属性更改为脚本的工作文件夹,但我宁愿避免这样做。

我还缺少其他选择吗?

GitHub上有一个关于此的问题。似乎没有将基本目录传递给PhantomJS的选项。但是,您可以使用HTML基本标记来设置基本url。

最新更新