我已将一个网页保存到本地磁盘(纯html文件,无更改)。
当尝试使用Puppeteer创建PDF时,缺少具有相对路径的图像。此外,PDF中的所有相对href链接都指向一个不存在的本地地址,而不是指向网页上正确的地址(该地址为“ http://www.example.com/”加上相对URL)
是否可以在Puppeteer中定义一个添加到所有相对URL(图像,链接,css,js)的前缀,因此将“ http://www.example.com/”添加到所有以“ /”开头的相对URL html文件?
答案 0 :(得分:1)
使用base
元素可以做到这一点。从文档中:
HTML
<base>
元素指定用于文档中包含的所有相对URL的基本URL。一个文档中只能有一个<base>
元素。
请注意,必须在具有URL属性的其他元素之前指定此名称。这意味着无法执行某些JavaScript来更改已渲染页面的行为。相反,您应该在呈现HTML之前对其进行更改。
在渲染之前将基本元素添加到HTML代码中,使其看起来像这样:
<!DOCTYPE html>
<html>
<head>
<base href="http://www.example.com/">
...