繁体   English   中英

您可以在 Javascript 中访问浏览器的另存为功能吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM