[英]Can you access a Browser's Save As Functionality in Javascript?
我正在创建一个网页,用户应该可以轻松下载该网页。
理想情况下,我希望页面底部有一个按钮,用于激活浏览器save as
function。我想这样做是因为不是每个人都知道如何保存 web 页面。
是否可以通过 Javascript 中的按钮激活浏览器的save as
功能?
我认为单击按钮不可能触发浏览器的“另存为”对话框。
但是,可以使用a
标签的download
属性触发当前页面的下载。
示例代码:
function triggerDownload(url, fileName) {
const link = document.createElement('a');
link.href = url;
link.download = fileName;
link.click();
}
// call the above method to trigger download
triggerDownload('https://<current-page-url>', 'page.html');
上面代码的警告是它只下载 HTML 而不是随附的 CSS/JS。 因此,为了缓解这种情况,最好触发window.print()
以允许用户将整个页面下载为 PDF:
function triggerDownload() {
window.print();
}
您还可以使用一些库来进行 PDF 转换(例如jsPDF
),而无需使用打印对话框。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.