小程序 WebView 嵌套 Vue 页面如何实现截图功能?
在小程序的 webview 中嵌套了 vue 页面,想要在 vue 中实现页面截图功能,但发现 dom-to-image 和 html2canvas 等主流库无法正常工作,只能得到空白图片。
解决方案
可以使用 puppeteer 进行服务端截图。puppeteer 是一个无头浏览器,可以模拟在浏览器中进行操作。以下是如何使用 puppeteer 在 vue 中实现页面截图功能:
const puppeteer = require("puppeteer"); //创建一个无头浏览器 puppeteer.launch().then(async (browser) => { const page = await browser.newPage(); //打开tab页 await page.goto("https://example.com"); //打开页面 await page.screenshot({ path: "example.png" }); //截图 await browser.close(); //关闭浏览器 });