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