Javascript PhantomJs:我可以从动态设置内容的页面访问相关资产吗?

Javascript PhantomJs:我可以从动态设置内容的页面访问相关资产吗?,javascript,phantomjs,relative-path,Javascript,Phantomjs,Relative Path,给定以下文件结构: 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='fil

给定以下文件结构:

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);
var page1=require(“网页”).create(),
page2=需要(“网页”).create();
page1.content=“”;
page2.content=“”;
//给图像一些时间来加载
setTimeout(函数(){
第1页呈现(“pdf1.pdf”);
第2页呈现(“pdf2.pdf”);
phantom.exit();
}, 10);
运行此操作后,
foo.png
pdf2.pdf
中正确显示,但在
pdf1.pdf
中不正确显示

我需要呈现一个大的HTML文件,其中包含大量具有相对路径的图像,如第1页所示

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


我还缺少其他选择吗?

GitHub上也有类似的选择。似乎没有将基本目录传递给PhantomJS的选项。但是,您可以使用。

非常好的答案设置基本url,因为您不知道基本标记。这在上面的测试用例中非常有效,但是当我在我的大HTML文件上尝试它时,所有文本都停止呈现。似乎是PhantomJS.Oops的一个bug,更正,这是一些@font-face规则的问题,具有相对路径。我想这说明了基本标签解决方案的工作原理。谢谢你的帮助!谢谢,它也帮了我